使用Dockerfile构建镜像-Docker for Web Developers(5)
1.理解Dockerfile语法
语法命令 | 命令功能 | 举例 |
---|---|---|
FROM |
所有的dockerfile都必须以FROM 命令指定镜像基于哪个基础镜像来制作 |
FROM ubuntu:14:04 |
MAINTAINER | 该容器维护作者,一般是作者的电子邮件 | MAINTAINER liminjun2007@gmail.com |
RUN | 在shell或者exec的环境下执行的命令,run指令会在新创建的镜像添加新的层面,接下来提交的结果用在dockerfile的下一条指令中。 | RUN echo "Hello World" > /root/hello_world.txt |
CMD | 提供容器默认的执行命令,dockerfile只允许使用一次CMD命令,如果执行多次,最后一次自动替换之前的。 | CMD ["cat", "/root/hello_world.txt"] |
更多详细语法可以参考:Dockerfile语法
2.编写一个简单的Dockerfile
#FROM - Image to start building on.
FROM ubuntu:14.04
#MAINTAINER - Identifies the maintainer of the dockerfile.
MAINTAINER liminjun2007@gmail.com
#RUN - Runs a command in the container
RUN echo "Hello World" > /root/hello_world.txt
#CMD - Identifies the command that should be used by default when running the image as a container.
CMD ["cat", "/root/hello_world.txt"]
Dockerfile
文件放到simple-dockerfile文件夹下面,切换到simple-dockerfile文件夹下,执行命令:
docker build -t simple .
运行结果如下图所示:
运行simple
容器,执行命令之后运行结果如下:
root@ubuntu-512mb-sfo2-01-gfw:~/simple-dockerfile# docker run simple
Hello world
3.参考链接
本文基于
知识共享署名-非商业性使用-相同方式共享
3.0 中国大陆许可协议发布,欢迎转载,演绎,但是必须保留本文的署名liminjun88(包含链接http://www.cnblogs.com/liminjun88/),且不得用于商业目的。如您有任何疑问或者授权方面的协商,请与我联系
。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 电商平台中订单未支付过期如何实现自动关单?
· 用 .NET NativeAOT 构建完全 distroless 的静态链接应用
· 为什么构造函数需要尽可能的简单
· 探秘 MySQL 索引底层原理,解锁数据库优化的关键密码(下)
· 大模型 Token 究竟是啥:图解大模型Token
· 瞧瞧别人家的限流,那叫一个优雅!
· 1.net core 工作流WorkFlow流程(介绍)
· 一文彻底搞懂 MCP:AI 大模型的标准化工具箱
· 面试官:如果某个业务量突然提升100倍QPS你会怎么做?
· 短信接口被刷爆:我用Nginx临时止血