DockerFile

DockerFile

这是个人笔记,观看他人教学视频整合的,视频底部有链接,侵删。

DockerFile是用来构建Docker镜像的构建文件,本质就是命令脚本。

编写一个Hello Word级别的DockerFile:

dockerfile01:

#这里表明以centos镜像为基础
FROM centos
#创建数据卷挂载,挂载的多个文件(这里是匿名挂载)
VOLUME ["volume01","volume02"]
#打印结果,成功反馈
CMD echo “-----end-----”
CMD /bin/bash

每行命令相当于镜像的一层

构建Docker镜像命令:

docker build -f dockerfile01 -t hello_centos:1.1 .
dockerfile01就是上面编写的脚本,hello_centos是生成的镜像名称。

如果DockerFile的名称叫Dockerfile,那么就不用-f指定文件,Docker会自动扫描到这个文件。
这里数据卷是匿名挂载的,可以用inspect来查看数据卷的路径映射。
注意最后的一个点不能少.

DockerFile指令

FROM			#基础镜像,以某个镜像为基础
MAINTAINER		#镜像的作者,邮箱等等
RUN				#镜像构建时运行的命令
ADD				#步骤,如果要搭建一个tomcat容器,那么add里面要加tomcat压缩包
WORKDIR			#镜像工作目录(进入时的当前目录)
VOLUME			#挂载目录
EXPOSE			#暴露端口配置
CMD				#指定容器启动时运行的命令,(替换命令)
ENTRYPOINT		#类似于CDM,但是CDM只会生效最后一个,这个不会。(追加命令)
ONBUILD			#当构建一个呗继承的DockerFile,这时会运行ONBUILD指令
COPY			#类似于ADD
ENV				#构建时配置环境变量

实践

绝大部分的基础Docker都是从scratch开始的。即:
FROM scratch

创建自己的centos

官方的centos没有clear,vim,ipconfig等命令。现在我们打算增加一些功能,形成一个新的镜像。
添加vim命令和ipconfig

DockerFile:

FROM centos
MAINTAINER tutulei<xxxxxxxxxxxx@qq.com>
ENV MYPATH /usr/local
WORKDIR $MYPATH

RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80

CMD echo $MYPATH
CMD echo "-----END-----"
CMD /bin/bash

我也不懂为什么要三个CMD,CMD不是会覆盖之前的命令吗???

创建一个Tomcat镜像

需要准备tomcat压缩包和jdk压缩包
在这里插入图片描述

其他命令

docker history 镜像ID 列出镜像构建过程。

docker tag 镜像ID 镜像名称:<TAG> 修改镜像名称和版本号,修改成功后,本地会生成这个镜像。

docker整体逻辑图

在这里插入图片描述

笔记来源

该笔记是观看b站up主狂神的视频所记录的。
感谢狂神大佬的分享!
视频链接:https://www.bilibili.com/video/BV1og4y1q7M4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值