云计算核心技术Docker教程: Dockerfile文件使用
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
以定制一个 nginx 镜像为例(构建好的镜像内会有一个 /usr/share/nginx/html/index.html 文件)
在一个空目录下,新建一个名为 Dockerfile 文件,并在文件内添加以下内容:
FROM nginx
RUN echo '这是一个本地构建的nginx镜像' > /usr/share/nginx/html/index.html
FROM:定制的镜像都是基于 FROM 的镜像,这里的 nginx 就是定制需要的基础镜像。后续的操作都是基于 nginx。
RUN:用于执行后面跟着的命令行命令。有以下俩种格式:
shell 格式:
RUN <命令行命令>
# <命令行命令> 等同于,在终端操作的 shell 命令。
或者exec 格式:
RUN ["可执行文件", "参数1", "参数2"]
# 例如:
# RUN ["./test.php", "dev", "offline"] 等价于 RUN ./test.php dev offline
在 Dockerfile 文件的存放目录下,执行构建动作。
以下示例,通过目录下的 Dockerfile 构建一个 nginx:test(镜像名称:镜像标签)。
# docker build -t nginx:test .
.表示上下文路径
上下文路径,是指 docker 在构建镜像,有时候想要使用到本机的文件(比如复制),docker build 命令得知这个路径后,会将路径下的所有内容打包。
解析:由于 docker 的运行模式是 C/S。我们本机是 C,docker 引擎是 S。实际的构建过程是在 docker 引擎下完成的,所以这个时候无法用到我们本机的文件。这就需要把我们本机的指定目录下的文件一起打包提供给 docker 引擎使用。
如果未说明最后一个参数,那么默认上下文路径就是 Dockerfile 所在的位置。
注意:上下文路径下不要放无用的文件,因为会一起打包发送给 docker 引擎,如果文件过多会造成过程缓慢。
相关阅读:
您可能也感兴趣:
官方微博/微信
每日头条、业界资讯、热点资讯、八卦爆料,全天跟踪微博播报。各种爆料、内幕、花边、资讯一网打尽。百万互联网粉丝互动参与,TechWeb官方微博期待您的关注。

想在手机上看科技资讯和科技八卦吗?
想第一时间看独家爆料和深度报道吗?
请关注TechWeb官方微信公众帐号:
1.用手机扫左侧二维码;
2.在添加朋友里,搜索关注TechWeb。
为您推荐
WeWork将接受比特币和其他加密货币作为支付方式
外媒:联发科准备推出4nm处理器天玑2000 最快今年年底开始生产
雪佛兰博尔特击败特斯拉 评为2021 U.S. News最佳电动汽车
滴滴成立网约车司机生态发展委员会:孙枢挂帅 直接向程维汇报
网信办:对网站平台有意纵容网络生态问题将从严从重查处
苹果推出新款iMac:搭配自研芯片M1 起售价1299美元
北京证监局:“天津股侠”等财经自媒体存在极高风险
索尼宣布长崎新工厂生产线4月份已开始运营 生产CMOS图像传感器
拜登呼吁提高美国电动汽车产能 追上并赶超中国
更多
- WeWork将接受比特币和其他加密货币作为支付方式
- 外媒:联发科准备推出4nm处理器天玑2000 最快今年年底开始生产
- 雪佛兰博尔特击败特斯拉 评为2021 U.S. News最佳电动汽车
- 苹果推出新款iMac:搭配自研芯片M1 起售价1299美元
- 索尼宣布长崎新工厂生产线4月份已开始运营 生产CMOS图像传感器
- 拜登呼吁提高美国电动汽车产能 追上并赶超中国
- 苹果公司推出全新紫色iPhone 12和iPhone 12 mini
- 富士康将在美建厂投资规模从100亿美元缩减至6.72亿美元
- 受Model 3注册量下降影响 特斯拉Q1在加州的新车注册量同比下降
- 供应商称特斯拉今年目标是生产和交付100万辆电动汽车