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

    --------------------------- 知道的更多,不知道的也更多 ---------------------------
  • 相关阅读:
    SAP HANA中创建分析权限(Analytic Privilege)
    SAP HANA 中的决策表(Decision Table)
    SAP HANA procudure 创建用户
    数据挖掘与分析学习链接汇总
    Wpf 自定义窗体
    Winform里实现一个双击ListBox可以切换为TextBox编辑的效果
    一个从没见过的C# ?.语法
    VB.net怎么用Sub Main
    Office2010 帮助查看器遇到意外问题
    WcfService:单服务多契约接口以及用户名密码认证
  • 原文地址:https://www.cnblogs.com/mryux/p/15663179.html
Copyright © 2011-2022 走看看