创建docker镜像

一、docker的C/S架构:
在构建docker镜像之前,先要理解docker的C/S架构:
在这里插入图片描述
1、Client 通过接口与Server进程通信实现容器的构建,运行和发布。
2、client和server可以运行在同一台集群,也可以通过跨主机实现远程通信。

所以,docker命令是从客户端命令行输入,然后发往docker服务器(docker daemon)处执行。

二、构建docker镜像命令:
docker build -t nginx/v1 .

关于docker build指令的概念:
1、构建会在 Docker 后台守护进程(daemon)中执行,而不是Client中
2、构建前,构建进程会将 上下文全部内容(递归)发送到守护进程
3、构建上下文是指Dockerfile 所在的本地路径或一个URL(Git仓库地址)
4、docker build 命令会根据 Dockerfile 文件及上下文构建新 Docker 镜像

大多情况下,应该将一个空目录作为构建上下文环境,并将 Dockerfile 文件放在该目录下
构建上下文环境会被递归处理,所以构建所指定的路径还包括了子目录,而URL还包括了其中指定的子模块

三、关于dockerfile:
Dockerfile 分为四部分:基础镜像信息、维护者信息、镜像操作指令、容器启动执行指令:

#1、基础镜像信息
FROM java:8
#2、维护者信息
MAINTAINER   blue   blue@163.com
#3、镜像操作指令
RUN echo "hello world"
#4、容器启动指令
ENTRYPOINT   ["java", "-jar", "/mydocker.jar"]

更多docker指令解释:
https://www.cnblogs.com/ityouknow/p/8595384.html

四、缓存
Docker 守护进程会一条一条的执行 Dockerfile 中的指令,而且会在每一步提交并生成一个新镜像,最后会输出最终镜像的ID。生成完成后,Docker 守护进程会自动清理你发送的上下文。
Dockerfile文件中的每条指令会被独立执行,并会创建一个新镜像,RUN cd /tmp等命令不会对下条指令产生影响。
Docker 会重用已生成的中间镜像,以加速docker build的构建速度。以下是一个使用了缓存镜像的执行过程:

构建缓存仅会使用本地父生成链上的镜像,如果不想使用本地缓存的镜像,也可以通过–cache-from指定缓存。指定后将不再使用本地生成的镜像链,而是从镜像仓库中下载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值