zoukankan      html  css  js  c++  java
  • docker-dockerfile

    docker file 

    构建自定义的镜像资源

    docker file 相关指令

     add与cp 用法类似,区别是add 具有解压功能

    CMD与ENTRYPOINT用法类似,区别是当启动docker 时传递命令参数的话会覆盖CMD的命令参数,还有就是如果有多行CMD命令那么只有最后一行生效。

    通过Dockerfile 构建镜像

    常见的项目目录结构

    ls  /test

    nginx  php

    [root@localhost test]# tree
    .
    ├── nginx
    │   ├── Dockerfile
    │   ├── nginx.conf
    │   └── nginx.tar.gz
    └── php
    ├── Dockerfile
    ├── php.ini
    └── php.tar.gz

    php  dockerfile

    FROM centos:7
    MAINTAINER www.aliangedu.com
    RUN yum install -y gcc gcc-c++ make gd-devel libxml2-devel libcurl-devel libjpeg-devel libpng-devel openssl-devel
    ADD php-5.6.31.tar.gz /tmp/
    
    RUN cd /tmp/php-5.6.31 && 
        ./configure --prefix=/usr/local/php 
        --with-config-file-path=/usr/local/php/etc 
        --with-mysql --with-mysqli 
        --with-openssl --with-zlib --with-curl --with-gd 
        --with-jpeg-dir --with-png-dir --with-iconv 
        --enable-fpm --enable-zip --enable-mbstring && 
        make -j 4 && 
        make install && 
        cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf && 
        sed -i "s/127.0.0.1/0.0.0.0/" /usr/local/php/etc/php-fpm.conf && 
        sed -i "21a daemonize = no" /usr/local/php/etc/php-fpm.conf
    COPY php.ini /usr/local/php/etc
    
    RUN rm -rf /tmp/php-5.6.31* && yum clean all
    
    WORKDIR /usr/local/php
    EXPOSE 9000
    CMD ["./sbin/php-fpm", "-c", "/usr/local/php/etc/php-fpm.conf"]
    View Code

    java dockerfile

    FROM centos:7
    MAINTAINER www.aliangedu.com 
    
    ADD jdk-8u45-linux-x64.tar.gz /usr/local
    ENV JAVA_HOME /usr/local/jdk1.8.0_45
    
    ADD apache-tomcat-8.0.46.tar.gz /usr/local
    COPY server.xml /usr/local/apache-tomcat-8.0.46/conf
    
    RUN rm -f /usr/local/*.tar.gz
    
    WORKDIR /usr/local/apache-tomcat-8.0.46
    EXPOSE 8080
    ENTRYPOINT ["./bin/catalina.sh", "run"]
    View Code

    创建镜像

    docker  image  build  -t  index/image-name  -f  /path/Dockerfile  path

    image 可省略,-t 指定创建镜像索引路径和名称,-f 指定Dockerfile 路径如果不写默认就是后面path路径下的名字为Dockerfile 文件,path 上下文路径:就是Dockerfile 中命令执行的路径,例如复制文件就是在这个路径下寻找要复制的文件的。

    创建lnmp 环境

    1、自定义网络
    docker network create lnmp
    
    2、创建PHP容器
    docker run -itd 
    --name lnmp_php 
    --net lnmp 
    --mount type=bind,src=/app/wwwroot/,dst=/usr/local/nginx/html 
    php:v1
    
    3、创建Nginx容器
    docker run -itd 
    --name lnmp_nginx 
    --net lnmp 
    --mount type=bind,src=/app/wwwroot/,dst=/usr/local/nginx/html 
    nginx:v1
    
    4、创建MySQL容器
    docker run -itd 
    --name lnmp_mysql 
    --net lnmp 
    -p 3306:3306 
    --mount src=mysql-vol,dst=/var/lib/mysql 
    -e MYSQL_ROOT_PASSWORD=123456 
    mysql --character-set-server=utf8
    View Code
  • 相关阅读:
    Java调用外部类定义的方法(Static与无Static两种)
    Java调用未被Static修饰的本类方法
    Java调用Static修饰的本类方法
    java利用Aspose.words.jar将本地word文档转化成pdf(完美破解版 无水印 无中文乱码)
    web-程序逻辑问题
    web-忘记密码了
    jenkins部署遇到离线问题如何解决
    Ansible基于playbook批量修改主机名实战
    windows/linux环境python3出现pip is configured with locations that require TLS/SSL, however the..不可用的解决方法
    linux软链接的创建、修改和删除
  • 原文地址:https://www.cnblogs.com/fanggege/p/11900665.html
Copyright © 2011-2022 走看看