docker基本操作三(Dockerfile的使用)

        使用docker commit创建镜像时我们需要先基于镜像运行一个容器,然后进入容器修改后保存为一个新镜像。

        使用Dockerfile定制镜像的时候我们就不需要先启动一个容器了,但是我们仍然需要基于一个容器,当然我们可以基于一个空的容器来实现全diy。使用Dockerfile定制镜像我们就更容易理解容器是一层一层的了。

最简单的我们实现之前我们用commit保存的镜像

1.编写Dockerfile

首现创建一个新目录

# 文件名未必一定是Dockerfile
           # 如果是其他名字的话后面我们在执行定制镜像命令时需要指定文件名(docker默认是Docker)

mkdir mynginx && cd mynginx && touch Dockerfile

进入Dockerfile输入下面两行保存:

# FROM是必备且必须是第一个指令,就是前面提到的需要基于一个镜像

FROM nginx

# RUN是执行指令  重写index.html文件

RUN echo "<h1>hello world</h1>" > /usr/share/nginx/html/index.html

2.定制镜像:docker build

docker build -t nginx:v2.0 .(这里有一个"点")

这样我们的镜像就定制好了,可以docker image ls查看

ps:

Dockerfile我们可以理解为docker脚本,就像一个命令罗列的shell脚本,每一句执行命令(如:RUN)就是一层,有多少个执行命令就是多少层。

这样我们就不难理解为什么我们commit保存的时候为什么是加一层而不是修改了,因为在生成镜像的时候是命令罗列的形式一个命令一个命令执行的完成的,而一个命令就是一层,每一层创建好之后这一层就创建结束了,想要修改就必须加一条命令(即添加一层)来修改,所以每一层的创建都要小新认真。

一个镜像不得超过127层(之前是42层)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值