温馨提示  2024年 6月我们已经停止开发者板块文章内容更新,谢谢来访。存档数据
知识 2023-08-25 41 次阅读

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.0label 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基础命令有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注云网站,小编将为大家输出更多高质量的实用文章!

的原因是什么