扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
云计算
本篇内容介绍了“Dockerfile基础命令有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
成都创新互联公司长期为上千多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为西安企业提供专业的网站设计制作、成都网站建设,西安网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。Dockerfile基础命令FROM - 基于基准镜像
FROMcentos#制作基准镜像(基于centos:latest)FROMscratch#不依赖任何基准镜像(baseimage),从零构建FROMtomcat:9.0.22-jdk8-openjdkLABEL& MAINTAINER - 说明信息
MAINTAINER3337777777.com#个人或机构名称LABELversion="1.0"LABELdescription="三分天注定,七分靠打拼"WORKDIR - 设置工作目录
WORKDIR/usr/localWORKDIR/usr/local/newdir#目标目录不存在,会自动创建#尽量使用绝对路径ADD & COPY - 复制文件
ADDhello/#复制到跟路径ADDtest.tar.gz/#添加到更目录并解压#ADD除了复制,还具备添加远程文件功能ENV - 设置环境常量
ENVJAVA_HOME/usr/local/openjdk8RUN${JAVA_HOME}/bin/java-jartest.jar#尽量使用环境常量,可提高程序维护性Dockerfile执行指令RUN & CMD & ENTRYPOINT
RUN:在Build构建时执行命令
ENTRYPOINT:容器启动时执行的命令
CMD:容器启动后执行默认的命令或参数
区别:不同执行时机
RUN - 构建时运行
RUNyuminstall-yvim#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联合使用
FROMcentosENTRYPOINT["ps"]CMD["-ef"]#这时ENTRYPOINT会和CMD联合使用ps-ef“Dockerfile基础命令有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注箭头云网站,小编将为大家输出更多高质量的实用文章!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流