如何构建Docker image使得运行其对应容器时自动输出自定义消息
构建自动输出自定义消息的Docker镜像教程
核心实现逻辑:Docker容器启动时会默认执行Dockerfile中CMD或ENTRYPOINT指令定义的命令,只需把输出自定义消息的逻辑设为容器默认启动命令即可实现需求。
操作步骤
- 第一步:在空文件夹中新建名为
Dockerfile的文件,写入以下内容,将<name>替换为你自己的名称即可:
# 选用轻量基础镜像,内置echo命令完全满足需求 FROM alpine:latest CMD ["echo", "This is <name>'s image"]
- 第二步:执行镜像构建命令,将
<my-image>替换为你自定义的镜像名称:docker build -t <my-image> . - 第三步:测试运行效果,执行以下命令就能看到预期输出:
docker run <my-image>
输出效果如下:
"This is
's image"
可选进阶:支持运行时自定义输出名称
如果想要他人运行镜像时可以自行修改输出的名称,可通过环境变量传参实现,修改Dockerfile内容如下:
FROM alpine:latest # 设置默认名称,运行时可通过参数覆盖 ENV NAME=默认名称 CMD ["sh", "-c", "echo \"This is ${NAME}'s image\""]
他人运行时可以自定义输出名称:docker run -e NAME=自定义名称 <my-image>
内容的提问来源于stack exchange,提问作者ashishpm
相关产品推荐
相关产品推荐

