Docker File 常用指令

  • FROM 指定基础镜像

    FROM centos:7
    
  • MAINTAINER: 指定作者/维护着

    MAINTAINER Tian Go <tiango@aliyun.com>
    
  • RUN 执行的命令

    RUN ["yum", "install", "httpd"]
    RUN yum install redis
    RUN ln -s /opt/bin/python3 /bin/python
    
  • WORKDIR: 指定工作目录

    WORKDIR /data
    
  • ENV 设置环境变量

    ENV MYSQL_ROOT_PASSWORD 123456
    ENV JAVA_HOME /usr/local/jdk1.8.0_45
    
  • ADD 拷贝文件、目录到镜像中

    如果是压缩包会自动帮忙解压

    如果是网址,自动下载并解压

    ADD html.tar.gz /var/www/html
    ADD https://xxx.com/html.tar.gz /var/www/html
    
  • COPY 拷贝和复制文件,不支持自动解压和下载

    COPY ./start.sh /start.sh
    
  • CMDENTRYPOINT

    CMD ["-C", "/start.sh"] 
    CMD ["/usr/sbin/sshd", "-D"] 
    CMD /usr/sbin/sshd -D
    
    ENTRYPOINT ["/bin/bash", "-C", "/start.sh"]
    ENTRYPOINT /bin/bash -C '/start.sh'
    
    • 如果没有ENTRYPOINTCMD 要写完整的内容命令[command,arg1,arg2]docker run 后面会覆盖掉 cmd
    • 如果有ENTRYPOINTCMD 可以只写 [arg1,arg2] ,那么ENTRYPOINT[command]
    • 还可以这样ENTRYPOINT写[command,arg1] CMD 可以只写 [arg2]

参考

https://blog.csdn.net/sunt2018/article/details/105102037

https://www.cnblogs.com/edisonchou/p/dockerfile_inside_introduction.html

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐