zoukankan      html  css  js  c++  java
  • docker Dockerfile

    生成镜像

    docker build . -t my-nginx

    docker images

    REPOSITORY               TAG            IMAGE ID      CREATED         SIZE
    localhost/my-nginx       maintainer     712befd1ad83  13 minutes ago  24.7 MB
    docker.io/library/nginx  stable-alpine  373f8d4d4c60  3 weeks ago     24.7 MB
    

    Dockerfile

    FROM nginx:stable-alpine
    MAINTAINER my-name   # 指定作者信息
    #运行docker inspect my-nginx,可以看到author是my-name
    
    USER root # 指定运行容器的宿主机进程用户
    
    WORKDIR /etc/nginx  # 启动容器后,容器内部的工作目录
    #运行docker inspect my-nginx | grep Work,可以看到WorkingDir
    
    # ADD/COPY 都可以将宿主机的文件上传到镜像中
    # ADD支持将压缩包解压后上传到镜像中
    ADD test.txt /etc/nginx/
    ADD myweb.tar.gz /usr/share/nginx/html
    
    # COPY不支持压缩包解压上传(没有解压操作)
    COPY test.txt /etc/nginx/
    COPY myweb.tar.gz /usr/share/nginx/html
    # 需要将myweb.tar.gz先解压到myweb目录,再copy
    COPY myweb /usr/share/nginx/html
    
    # EXPOSE 端口映射
    COPY 8080.conf /etc/nginx/conf.d/
    COPY index.html /usr/share/nginx/
    EXPOSE 8080
    
    # ENV 在容器中定义环境变量
    ENV test=my-test-name
    

    RUN 在镜像生成过程中需要执行的命令

    FROM centos:7.6.1810
    RUN yum install -y vim 
    # 在此容器启动以后,会发现vim已经安装了(centos自己不带vim)。
    

    CMD 在容器启动时执行的命令,如果启动容器时指定了执行命令,那么CMD命令就失效

    FROM centos:7.6.1810
    CMD echo "ok"
    
    # 通过 docker build . -t centos:cmd 生成镜像
    docker run --rm centos:cmd   --> ok
    docker run --rm centos:cmd echo "ok2"  --> ok2
    

    ENTRYPOINT 容器启动时执行的脚本,但不会被启动容器时指定的命令覆盖,只会将制定的命令当作参数传递给ENTRYPOINT

    --------------------------- 知道的更多,不知道的也更多 ---------------------------
  • 相关阅读:
    《20171101-构建之法:现代软件工程-阅读笔记》
    《软件工程课程总结》
    《20171122-构建之法:现代软件工程-阅读笔记》) (5分)
    阅读任务-阅读提问-4
    《20171115构建之法:现代软件工程-阅读笔记》)
    对软件工程的期望
    自我介绍
    Javaweb学习计划
    分布式事务解决方案
    countdown模式
  • 原文地址:https://www.cnblogs.com/mryux/p/15663179.html
Copyright © 2011-2022 走看看