3.dockerfile

第一个DockerFile(第一个镜像)
1.创建一个文件 touch Dockerfile 一般约定成熟的叫Dockerfile

2.编写image内容:
FROM alpine:latest–创建一个基础镜像
MAINTAINER xbf–告诉别人这个镜像是我创建的
CMD echo ‘hello docker’ --运行一个命令 这个命令是echo ‘hello docker’ 就会输出‘hello docker’

3.使用build生成一个Docker image:docker build -t hello_docker .(-t 是给个标签 注意最后有个点,代表使用当前路径的 Dockerfile 进行构建 【 -f 文件名】用于指定具体文件)

4.docker run hello_docker 命令启动新生成的image

第二个DockerFile(“第二个稍微复杂的镜像”)
1.创建一个文件 touch Dockerfile 一般约定成熟的叫Dockerfile
2.编写image内容:
在这里插入图片描述
1.创建一个基础镜像
2.作者名称
3.做个加速环节 现在构建的话会慢,会从比较慢的站点下安装包,用国内的镜像将后面这个文件改变
4.更新下ubuntu程序的库
5.安装nginx
6.拷贝一个文件 路径是/var/www/html
7.容器的入点,使用的是数组的语法;最后会把这个数组展开用空格隔开 当成一个命令行,作用是将nginx在前台执行 不是守护进程执行。
8.暴露个端口

3.使用build生成一个Docker image:docker build -t hello_docker .(-t 是给个标签 注意最后有个点,代表使用当前路径的 Dockerfile 进行构建 )

4.docker run -d -t80:80 hello_docker 命令启动新生成的image,-d 守护进程 -p 暴露端口

5.最后查看
在这里插入图片描述

在这里插入图片描述
add比copy更加强大 add还可以将远程文件添加到容器中去
在这里插入图片描述
Dockerfile中ENTRYPOINT 和 CMD的区别

镜像是以分层存储
在这里插入图片描述

已经存在image层是只读的,一旦一个image被运行成一个容器的话会产生一个新层 这层是可读可写
在这里插入图片描述

分层的好处:比如有很多容器或者image,A image有10层 B image有7层那么可能他们5层是共享的,这样的话无形中的存储压力会小很多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值