1.查看镜像列表
使用命令:docker images
来列出本地主机上的镜像。
各个选项说明:
- REPOSITORY:表示镜像的仓库源
- TAG:镜像的标签
- IMAGE ID:镜像ID
- CREATED:镜像创建时间
- SIZE:镜像大小
同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本。
2.获取新镜像
使用命令:docker pull ubuntu:13.10
从远程仓库来拉取这个新的镜像到本地。
3.查找镜像
我们可以从 Docker Hub 网站来搜索镜像,也可以使用 docker search 命令来搜索镜像。
docker search ubuntu:13.10
NAME: 镜像仓库源的名称
DESCRIPTION: 镜像的描述
OFFICIAL: 是否 docker 官方发布
stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。
AUTOMATED: 自动构建。
4.删除镜像
使用命令:docker rmi ubuntu:13.10
来删除本地主机上的ubuntu:13.10镜像。
5.创建镜像
当我们从 docker 镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。
- 从已经创建的容器中更新镜像,并且提交这个镜像。
- 使用 Dockerfile 指令来创建一个新的镜像。
(1)提交镜像:
首先通过命令:docker run -d -it ubuntu:13.10 /bin/bash
运行这个镜像,生成一个容器,拿到这个容器的id为:“e218edb10161”。
再通过命令:docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2
来提交容器副本。
各个参数说明:
-m: 提交的描述信息
-a: 指定镜像作者
e218edb10161:容器 ID
runoob/ubuntu:v2: 指定要创建的目标镜像名
(2)Dockerfile 构建镜像:
首先需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。
通过命令:cat Dockerfile
创建一个 Dockerfile 文件,大致内容如下:
FROM centos:6.7
MAINTAINER Fisher “fisher@sudops.com”
RUN /bin/echo ‘root:123456’ |chpasswd
RUN useradd runoob
RUN /bin/echo ‘runoob:123456’ |chpasswd
RUN /bin/echo -e "LANG=“en_US.UTF-8"” >/etc/default/local
EXPOSE 22
EXPOSE 80
CMD /usr/sbin/sshd -D
每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。
第一条FROM,指定使用哪个镜像源
RUN 指令告诉docker 在镜像内执行命令,安装了什么。。。
然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像。
最后通过命令:docker build -t runoob/centos:6.7 .
来构建一个新的镜像。
参数说明:
-t :指定要创建的目标镜像名
. :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径
6.设置镜像标签
使用命令:docker tag 860c279d2fec runoob/centos:dev
为镜像添加一个新的标签。
860c279d2fec:镜像ID。(这里也可以替换成镜像名)
runoob:登录仓库的用户名。(这里也可以是私有仓库的ip:端口号)
centos:镜像源名。
dev: 标签名
7.保存镜像
将指定镜像保存成 tar 归档文件:
docker save -o iom_v1.tar iom:1
// 将镜像iom:1生成一个名为iom_v1.tar的文件并保存在当前目录下
8.导入镜像
从保存的镜像归档文件中导入镜像:
docker load -i iom_v1.tar
// 从 iom_v1.tar 的镜像归档文件中导入镜像
9.从归档文件中创建镜像
从镜像归档文件iom_v1.tar创建并命名为iom:3的镜像:
docker import iom_v1.tar iom:3