• docker镜像制作


    基于busybox制作默认执行httpd服务的镜像

    #下载镜像
    [root@docker ~]# docker pull busybox
    
    # 启动镜像   
    [root@docker ~]# docker run --name b1 -it busybox
    
    # 创建html目录
    / # mkdir -p /data/html
    
    # 创建索引页面
    / # vi /data/html/index.html
    
    # 生成新的docker images
    [root@docker ~]# docker commit -p b1
    
    # 打标签
    [root@docker ~]# docker tag e0cc8f6bd590 busybox/httpd:v-0.1
    
    # 查看images默认运行的命令
    [root@docker ~]# docker inspect busybox/httpd:v-0.1 | sed -n '/Cmd/{n;p}'
    
    # 修改默认运行的命令  -a 作者  -p 暂停容器
    [root@docker ~]# docker commit -a 'ray' -c 'CMD ["/bin/httpd","-f","-h","/data/html"]' -p b1 busybox/httpd:v-0.0
    
    # 运行
    [root@docker ~]# docker run -d --name httpd_1 busybox/httpd:v-0.0
    
    # 查看ip
    [root@docker ~]# docker inspect httpd_1 | grep -n 'IPAddress'
    
    # 访问
    [root@docker ~]# curl 172.17.0.3 

    镜像导入导出

    [root@docker ~]# docker save -o busybox.gz busybox/httpd:v-0.0 
    
    [root@docker ~]# docker load -i busybox.gz

    Dockerfile自制镜像

    [root@docker ~]# mkdir makeImages
    [root@docker ~]# cd makeImages/
    [root@docker makeImages]# vim  Dockerfile 
    FROM busybox:latest
    # MAINTAINER "RAY"
    LABEL <maintainer>=<'ray'> 
    # 环境变量
    ENV <DOC_ROOT>=</data/web/html> 
    <WEB_SERVER_PACKAGE>=<nginx-1.15-2> 
    COPY index.html ${DOC_ROOT:-/data/web/html/}
    COPY yum.repos.d /etc/yum.repos.d/
    # ADD http://nginx.org/download/nginx-1.15.2.tar.gz /usr/local/src 
    # 将tar包展开放至容器/usr/local/src目录下
    ADD ${WEB_SERVER_PACKAGE:-nginx-1.15.2}.tar.gz /usr/local/src 
    # 指定后续操作的工作目录 
    WORKDIR /usr/local/src/ 
    # 在images中创建一个挂载点目录 
    VOLUME /data/html/
    # 为容器打开指定要监听的端口
    EXPOSE 80/udp 80/tcp
    
    # 生成镜像
    [root@docker makeImages]# docker build -t busybox/httpd:v-0.1 ./
    
    # 启动一个容器执行一条命后然后删除容器
    [root@docker makeImages]# docker run --name test --rm busybox/httpd:v-0.1 cat /data/web/html/index.html
    # 查看镜像环境变量  -P 选项 可以使用docker port 查看端口    -e 选项可以在启动容器是设置环境变量
    [root@docker makeImages]# docker run --name test --rm -P busybox/httpd:v-0.1  printenv

     基于centos制作nginx镜像

    FROM centos
    LABEL <maintainer>=<'ray'>  app='nginx'
    ENV BASE_PATH='/usr/local/nginx' 
            NGINX_PKG='nginx-1.12.2'
    RUN yum -y install gcc pcre-devel openssl-devel make
    ADD ${NGINX_PKG}.tar.gz .
    RUN cd ./$NGINX_PKG && 
            ./configure --prefix=$BASE_PATH 
                        --with-http_ssl_module 
                        --with-stream 
                        --with-http_stub_status_module && 
            /usr/bin/make && /usr/bin/make install && 
            /usr/bin/ln -s $BASE_PATH/sbin/nginx /sbin/
    #ADD nginx.conf ${BASE_PATH}/conf/nginx.conf
    EXPOSE 80
    CMD ["/sbin/nginx","-g","daemon off;"]                                        

     **ENTRYPOINT 与CMD相似,但不会被docker run 执行的命令所覆盖。

    如果确定要覆盖ENTRYPOINT的命令,使用 --entrypoint cmd

    **

    FROM centos 
    LABEL <maintainer>=<'ray'>  app='nginx'
    ENV BASE_PATH='/usr/local/nginx' 
        NGINX_PKG='nginx-1.12.2'
    RUN yum -y install gcc pcre-devel openssl-devel make
    ADD ${NGINX_PKG}.tar.gz .
    RUN cd ./$NGINX_PKG && 
        ./configure --prefix=$BASE_PATH 
                --with-http_ssl_module 
                --with-stream 
                --with-http_stub_status_module && 
        /usr/bin/make && /usr/bin/make install && 
        /usr/bin/ln -s $BASE_PATH/sbin/nginx /sbin/
    ADD entrypoint.sh /bin/ 
    EXPOSE 80
    CMD ["/sbin/nginx","-g","daemon off;"]
    ENTRYPOINT ['/bin/entrypoint.sh']

    公有镜像仓库

    quay.io

    daocloud.io

    docker.io                

    ...

  • 相关阅读:
    jQuery EasyUI API 中文文档 数字框(NumberBox)
    jQuery EasyUI API 中文文档 数值微调器(NumberSpinner)
    jQuery EasyUI API 中文文档 日期时间框(DateTimeBox)
    jQuery EasyUI API 中文文档 微调器(Spinner)
    jQuery EasyUI API 中文文档 树表格(TreeGrid)
    jQuery EasyUI API 中文文档 树(Tree)
    jQuery EasyUI API 中文文档 属性表格(PropertyGrid)
    EntityFramework 数据操作
    jQuery EasyUI API 中文文档 对话框(Dialog)
    jQuery EasyUI API 中文文档 组合表格(ComboGrid)
  • 原文地址:https://www.cnblogs.com/ray-mmss/p/10399745.html
Copyright © 2020-2023  润新知