zoukankan      html  css  js  c++  java
  • Dockerfile

    命令

    指令 描述 格式
    FROM 构建的新镜像基于那个镜像 FROM centos:7
    MAINTAINER 镜像维护者信息 MAINTAINER syavingc
    RUN 构建镜像运行的shell命令、命令较长使可以使用来换行 格式:RUN 或 RUN["executable", "param1", "param2"]RUN yum install nginx
    CMD 运行容器时执行的shell命令解释: CMD指定容器启动是执行的命令,每个Dockerfile只能有一条CMD命令,如果指定了多条,只有最后一条会被执行。如果你在启动容器的时候也指定的命令,那么会覆盖Dockerfile构建的镜像里面的CMD命令。 CMD ["-c", "start.sh"]CMD ["/usr/sbin/sshd", "-D"]CMD /usr/sbin.sshd -D
    EXPOSE 生成容器运行的服务端口 EXPOSE 80 443
    ENV 设置容器内环境变量 ENV MYSQL_ROOT_PASSWORD123456
    ADD 拷贝文件或者目录到镜像,如果是URL或压缩包会自动下载或者自动解压 ADD 将指定的复制到容器文件系统中的ADD ["",... ""]ADD http.tar.gz /var/www/html
    COPY 拷贝文件或目录到镜像 同上
    VOLUME 指定容器挂载点到宿主机自动生成的目录或其他容器 VOLUME ["/usr/local/mysql"]
    USER 指定运行容器时的用户名和UID,后续的RUN指令也会使用这里指定的用户。 USER syavingcUSER [:] or USER [:]
    WORKDIR 为RUN、CMD、COPY、ADD设置工作目录 WORKDIR /data/
    ENTRYPOINT 运行容器时执行的shell命令 ENTRYPOINT ["/bin/bash", "-c", "/start.sh"]ENTRYPOINT /bin/bash -c '/start.sh'
    HEALTHCHECK 健康检查 HEALTHCHECK --interval=5m --timeout=3sCMD curl -f http://localhost/ || exit 1
    ARG ARG指定了一个变量在docker build的时候使用,可以使用--build-arg =来指定参数的值,不过如果构建的时候不指定就会报错 ARG[=]

    RUN、CMD和ENTRYPOINT指令区别
    1、RUN在building时运行,可以写多条
    2、CMD和ENTRYPOINT在运行container时运行,只能写一条,如果写多条,最后一条生效。
    3、CMD在RUN时可以被COMMAND覆盖,ENTRYPOINT不会被COMMAND覆盖,但可以指定-ENTRYPOINT覆盖

    Build镜像

    docker build [options] path|url|-
    options:
    -t --tag list    #镜像名称
    -f --file string #指定Dockerfile文件位置
    #实例
    docker build .        #默认找当前目录以Dockerfile为命名的文件
    docker build -t data/app -t /path/Dockerfile /path
    docker build -t data/app - < Dockerfile
    docker build -t data/app - < test.tar.gz
    docker build -t data/app http://www.syaving.com/Dockerfile
    docker build -t data/app http://www.syaving.com/test.tar.gz
    

    基于SSH的镜像

    FROM centos:6
    MAINTAINER syavingc
    
    ENV ROOT_PASSWORD 123456
    
    RUN yum install -y openssh-server
    RUN echo $ROOT_PASSWORD |passwd --stdin root
    
    RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
    RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
    
    CMD ["/usr/sbin/sshd","-D"]
    
    EXPOSE 22
    
  • 相关阅读:
    微信小程序开发之tab导航栏
    微信小程序开发之日期组件
    微信小程序运行机制
    iis部署错误:HTTP 错误 500.21
    web API请求与参数获取
    C#API接口调试工具
    微信小程序之自定义组件与使用
    微信小程序开发之拼接json数组字符串
    IdentityServer4 中文文档 -11- (快速入门)添加基于 OpenID Connect 的用户认证
    IdentityServer4 中文文档 -10- (快速入门)使用密码保护API
  • 原文地址:https://www.cnblogs.com/syavingcs/p/14011721.html
Copyright © 2011-2022 走看看