创建镜像主要有三种方式:
- 基于已有的镜像的容器创建;
- 基于本地模板导入;
- 基于Dockerfile 创建。
零、基于已有的容器创建
这种方式语法如下:
docker [container] commit [options] container [repository[:TAG]]
该命令常用的参数如下:
参数 | 描述 |
---|---|
-a,–author="" | 作者信息 |
-c,–change=[] | 提交的时候执行的Dockerfile指令 |
-m,–message="" | 提交消息 |
-p,–pause=true | 提交时暂停容器运行 |
我们现在根据 ubuntu16.04 容器创建镜像:
docker commit -m "新镜像" -a "Docker Newbee" 13c9 new:1
创建成功后,将返回新镜像的ID
一、基于本地模板导入
该方法需要用到 import 命令,语法如下:
docker [image] import [options] file|URL|-[REPOSITORY[:TAG]]
一般情况下我们会下载相应的模板压缩包,导入到docker中,模板下载地址为:http://openvz.org/download/templates/precreated
二、基于Dockerfile 创建
Dockerfile是一个文本文件,利用给定的指令描述基于某个镜像创建新镜像的过程。
例如我们创建一个基于 nginx 的新镜像
FROM nginx
RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
其中 FROM 指的是基础镜像,RUN 指的是要运行的命令
创建完Dockerfile 文件后,我们可以利用 build 命令来创建镜像:
docker build -t nginx:v3