Dockerfile基础命令有哪些

云计算

本篇内容介绍了“dockerfile基础命令有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Dockerfile基础命令

FROM – 基于基准镜像

FROM centos #制作基准镜像(基于centos:latest)FROM scratch #不依赖任何基准镜像 (base image),从零构建FROM tomcat:9.0.22-jdk8-openjdk

LABEL & MAINTAINER – 说明信息

MAINTAINER 3337777777.com  #个人或机构名称LABEL version=\”1.0\”LABEL description=\”三分天注定,七分靠打拼\”

WORKDIR – 设置工作目录

WORKDIR /usr/localWORKDIR /usr/local/newdir  #目标目录不存在,会自动创建#尽量使用绝对路径

ADD & COPY – 复制文件

ADD hello /  #复制到跟路径ADD test.tar.gz /   #添加到更目录并解压#ADD 除了复制,还具备添加远程文件功能

ENV – 设置环境常量

ENV JAVA_HOME /usr/local/openjdk8RUN ${JAVA_HOME}/bin/java -jar test.jar#尽量使用环境常量,可提高程序维护性Dockerfile执行指令

RUN & CMD & ENTRYPOINT

RUN:在Build构建时执行命令

ENTRYPOINT:容器启动时执行的命令

CMD:容器启动后执行默认的命令或参数

区别:不同执行时机

RUN – 构建时运行

RUN yum install -y vim  #shell命令格式RUN [\”yum\”,\”install\”,\”-y\”,\”vim\”] #exec命令格式

为什么Docker要为RUN采用两种书写格式呢?

这涉及到linux系统的一些底层原理。

Shell运行方式

Exec运行方式

使用Exec方式,会用Exec进程替换当前进程,并且保持PID不变;

执行完毕,直接退出,并不会退回之前的进程环境。

  =>

在不清楚使用哪种方式的情况下,推荐使用Exec格式。

ENTRYPOINT – 启动命令

ENTRYPOINT(入口点)用于在容器启动时执行命令

Dockerfile中只有最后一个ENTRYPOINT会被执行

ENTRYPOINT [\”ps\”]  #推荐使用Exec格式

CMD – 默认命令

CMD用于设置默认执行的命令

如Dockerfile中出现多个CMD,则只有最后一个执行

如容器启动时附加指令,则CMD被忽略

CMD [\”ps\”,\”-ef\”]  #推荐使用Exec格式

ENTRYPOINT和CMD联合使用

FROM centosENTRYPOINT [\”ps\”]CMD [\”-ef\”]#这时ENTRYPOINT会和CMD联合使用  ps -ef

“Dockerfile基础命令有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注箭头云网站,小编将为大家输出更多高质量的实用文章!

更多关于云服务器域名注册虚拟主机的问题,请访问西部数码官网:www.west.cn

赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » Dockerfile基础命令有哪些

登录

找回密码

注册