摘要:和命令解释执行命令并创建新的设置容器启动后默认执行的命令和参数设置容器启动时运行的命令执行方式注意事项使用命令构建镜像时需要放在同一个命令中,否则会从缓存中安装软件,导致执行毫无意义的软件尽量一个一行并且按照字母顺序排列
RUN、CMD和ENTRYPOINT 命令解释
RUN 执行命令并创建新的Image Layer
CMD 设置容器启动后默认执行的命令和参数
ENTRYPOINT 设置容器启动时运行的命令
执行方式
EXEC
FROM debian RUN ["apt-get","install","-y","vim"] CMD ["/bin/echo","hello world!!"] ENTRYPOINT ["/bin/echo","hello world!!"]
SHELL
FROM debian RUN apt-get install -y vim CMD echo "hello world!!" ENTRYPOINT echo "hello world!!"注意事项
使用run命令构建镜像时apt-get update && apt-get install -y需要放在同一个RUN命令中,否则apt-get install会从缓存中安装软件,导致apt-get update执行毫无意义
apt-get install 的软件尽量一个一行并且按照字母顺序排列,这样可以避免安装重复的命令
apt-get install安装软件时可以为软件指定特定的版本apt-get install -y aufs-tools s3cmd=1.1.*
命令差异
CMD
容器启动时默认执行的命令
docker run 指定了其他命令,CMD会被忽略
如果定义了多个CMD,只有最后一个会执行
ENTRYPOINT
让容器以运用程序或者服务的形式运行
不会被忽略,一定会执行
最佳实践,写一个shell脚本作为entrypoint
COPY ./script/test.sh /usr/local/bin ENTRYPOINT ["test.sh"]
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/27897.html
摘要:此命令下载测试镜像并在容器中运行它。国内很多云服务商都提供了加速器服务,例如阿里云加速器注册用户并且申请加速器,会获得如这样的地址。获取镜像阿里云镜像库上有大量的高质量的镜像可以用,这里我们就说一下怎么获取这些镜像并运行。 showImg(https://segmentfault.com/img/remote/1460000012924583); 这篇文章是我学习 Docker 的记录...
摘要:当然此时的局限性较大,比如没有副本和负载均衡的概念,这导致服务无法高可用当然也更不存在什么服务网络管理和跨节点数据存储这些东西没有服务模型集群中服务间关系和启动顺序编排也很复杂于是就有了下面的的诞生。 showImg(https://segmentfault.com/img/remote/1460000015317037?w=1885&h=1153); 概述 在我的《Docker S...
摘要:创建详解通过上面的快速创建我们接下来将通过上面的例子来进行创建操作中的详细设置说明。高阶设置高阶设置中将针对容器进行详细的参数设置。挂载路径卷名称注意如没有创建卷设置,在挂载卷中将选择不到具体的卷名称,请先创建卷设置。快速创建快速创建Cube实例点击Cube的创建按钮进入创建页面,为你的容器组起一个名字;选择一个仓库内的镜像,这里快速创建我选择的UCloud镜像仓库nginx镜像1.17.1...
摘要:常用命令什么的是高级包装工具英语简称是及其衍生发行版如的软件包管理器。中文参数用法选项命令选项选项是一个下载安装软件包的简单命令行接口。最常用的命令是更新和安装。 apt-get常用命令 1.什么的是apt-get 高级包装工具(英语:Advanced Packaging Tools,简称:APT)是Debian及其衍生发行版(如:ubuntu)的软件包管理器。APT可以自动下载,配...
阅读 3968·2021-11-23 10:09
阅读 1337·2021-11-23 09:51
阅读 2939·2021-11-23 09:51
阅读 1584·2021-09-07 09:59
阅读 2353·2019-08-30 15:55
阅读 2291·2019-08-30 15:55
阅读 2948·2019-08-30 15:52
阅读 2559·2019-08-26 17:04