文章目录
- 镜像含义
- 镜像的两种获取方式
- 官网链接获取
- 自定义镜像
- 镜像采集的原理
- 镜像创建的方式
- Docker commit 创建
- Dockerfile创建镜像
开始,我们先谈谈什么是镜像?
镜像含义:
那么,什么是镜像呢?镜像是启动容器的核心,在Docker中,容器是基于镜像启动的,镜像采用分层设计(镜像最多可以有255层),采用的是COW技术(即前端和后端技术)
返回首页
镜像的两种获取方式
一、官网链接获取
官方网站链接: https://hub.docker.com
二、自定义镜像,也称私有镜像,也可以说是自己制作的镜像:
1、首先,我们来来看看镜像采集的原理:
![在这里插入图片描述]()
镜像采用分层设计 ——》 创建读写层 ——》 修改配置 ——》 重新打包
2、创建镜像的方式(两种)
(1)docker commit创建镜像:
docker commit 是简单的创建镜像的方式,我们可以在命令行输入创建命令: ```bash docker commit ID号 名称:标签 ``` 来创建,但commit创建有一定的局限性,就是很容易创建简单的镜像,当碰到需要设置默认的启动命令时或者需要设置环境变量时、需要指定镜像开放某些特定的端口时,一但碰到这些复杂的情况就十分的不方便。所以,针对这一点,我们可以使用Dockerfile来制作镜像。
返回首页
(2) Dockerfile制作镜像:
其实Dockerfile制作镜像很简单,就像是我们平时使用的Shell脚本方式一样,Dockerfile 也是采用类似于脚本的方式来制作的,编写Dockerfile文件,然后通过执行docker build 命令来制作镜像。功能强大,而且更加快捷。
那么 Dockerfile 功能既然这么强大,怎么制作Dockerfile镜像?
Dockerfile镜像的制作步骤:
创建存储 Dockerfile 的目录 ——》 在目录中编写 Dockerfile 文件 ——》使用 “ docker build -t 镜像名:标签 Dockerfile所在的目录(通常以 . 代替) ” 命令生成镜像
Dockerfile的基本语法:
语法指令 | 语法说明 |
FROM | 基础镜像 |
RUN | 制作镜像时执行的命令,可以有多个 |
ADD | 复制文件到镜像,自动解压 |
COPY | 复制文件到镜像,不解压 |
EXPOSE | 声明开放的端口 |
ENV | 设置容器启动后的环境变量 |
WORKDIR | 定义容器默认工作目录(等于cd) |
CMD | 容器启动时执行的命令 (注意:CMD只可以有一条) |
当然,Dockerfile除了以上基础语法外,还有其他的,这里我就不一一列举了,感兴趣的朋友可以自行去搜索
返回首页