Fork me on GitHub

Docker(3):Dockerfile配置详解

FROM  : 指定base镜像

MAINTAINER :设置镜像的作者,可以是任意的字符串

COPY :将文件从build context 复制到镜像

            COPY 支持两种形式:COPY src dest 与COPY[“src”,”dest”]

               注意:src只能指定build context中的文件或目录

ADD :与COPY类似,从build context 复制文件到镜像。不同的是,如果src是归档文件(tar、zip、tgz、xz等),文件会被自动解压                 到 dest。

ENV:设置环境变量,环境变量可被后面的指令使用。

EXPOSE:指定容器中的进程会监听某个端口,Docker可以将该端口暴露出来。

VOLUME:将文件或目录声明为volume。

WORKDIR:为后面的RUN、CMD、ENTRYPOINT、ADD或COPY指令设置镜像中的当前工作目录。

RUN:在容器中运行指定的命令

CMD:容器启动时运行指定的命令。Dockerfile中可以有多个CMD指令,但只有最后一个生效。CMD可以被docker run之后的参数替换

ENTRYPOINT:设置容器启动时运行的命令。Dockerfile中可以有多个ENTRYPOINT指令,但只有最后一个生效。CMD或docker run 之后的参数会被当做参数传递给ENTRYPOINT。

 --------------------------------------------------------------------------------------

RUN、CMD、ENTRYPOINT命令区别

RUN:执行命令并创建新的镜像层,RUN经常用于安装软件包。

CMD:设置容器启动后默认执行的命令及其参数,但CMD能够被docker run后面的参数替换

ENTRYPOINT:配置容器启动时运行的命令。

posted @   Aiden郭祥跃  阅读(1195)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
";
点击右上角即可分享
微信分享提示