Docker教程小白实操入门(12)--如何使用build指令根据Dockerfile文件构建一个镜像

网友投稿 256 2022-10-22

Docker教程小白实操入门(12)--如何使用build指令根据Dockerfile文件构建一个镜像

一、Dockerfile是什么

镜像的定制实际上就是定制每一层所添加的配置、文件。我们把这些操作命令都写入一个脚本,用这个脚本来构建、定制镜像。这个脚本就是​​Dockerfile​​。

二、Dockerfile的格式

指令不区分大小写,但是为了与参数区分,推荐大写。​​Docker​​​会顺序执行​​Dockerfile​​中的指令。第一条必须是​​FROM​​指令,它用于指定构建镜像的基础镜像。​​#​​开头的行是注释。​​Dockerfile​​中每一个指令都会建立一个镜像层

三、FROM指令

# FROM指定基础镜像,tag默认为latestFROM 或 FROM :

四、​​RUN​​执行命令

​​RUN ​​​指令是用来执行命令行命令的。​​RUN​​​指令会在前一条命令创建出的镜像的基础上创建一个容器,并在容器中运行命令。在命令结束运行后​​commit​​​提交新容器为新镜像,新镜像被​​Dockerfile​​的下一条指令使用。

# shell格式RUN # 或 exec格式,非常推荐RUN [“executable”, “param1“, “param2”]

五、如何使用build指令根据Dockerfile构建一个镜像

docker build [OPTIONS] 上下文路径|URL

​​[OPTIONS]​​​: 命令选项,常用的指令包括​​-t​​​指定镜像的名字,​​-f​​​显示指定​​Dockerfile​​​,如果不使用​​-f​​​,则默认将上下文路径下的名为​​Dockerfile​​​的文件认为是构建镜像的“​​Dockerfile​​”;上下文路径​​|URL​​: 指定构建镜像的上下文的路径,构建镜像的过程中,可以且只可以引用上下文中的任何文件。除了从本地构建以外,​​docker build​​​还支持从​​URL​​​构建,比如可以直接从​​Git repo​​中构建,这里也不展开介绍了,如果你对这个感兴趣,可以查看:​​-t指定了镜像名为myimage,由于没有使用-f指令,所以默认使用上下文路径下名为Dockerfile的文件认为是构建镜像的“Dockerfile”。最后指定上下文路径,在这条命令中,上下文路径是.,.代表就是将当前目录设置为上下文路径docker build -t myimage .

六、实例

#先创建一个新的空文件夹mkdir newdir#进入这个新文件夹中cd newdir#创建一个Dockerfile文件touch Dockerfile# 补全Dockerfile的内容(为了方便展示,这里用的是echo向Dockerfile中输入内容)# linux中>表示覆盖原文件内容,>>表示追加内容。echo "FROM busybox:latest" > Dockerfileecho "RUN touch hello.txt" >> Dockerfile#使用该Dockerfile构建一个名为busybox:v1的镜像,注意这个小数点docker build -t busybox:v1 .

七、在RUN指令中使用 ​​&&​​将各个命令串联起来

为了避免每一条RUN指令都会新建一个镜像,所以不能为每一条命令都对应一个RUN,如下:

RUN mkdir /dir1RUN cd dir1RUN touch hello.txt

而是应该使用&&把命令拼接起来,成为一条指令

RUN mkdir /dir1 \&& cd dir1 \&& touch hello.txt

参考:​​https://educoder.net/shixuns/zawfjtnm/challenges​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:mybatis如何使用truncate清空表
下一篇:Docker教程小白实操入门(10)--如何删除一个镜像
相关文章

 发表评论

暂时没有评论,来抢沙发吧~