Docker 镜像使用
当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载。
列出镜像列表
我们可以使用 docker images 来列出本地主机上的镜像。
代码如下(示例):
docker images
各个参数说明:
-
REPOSTITORY:表示镜像的仓库源
-
TAG:镜像的标签
-
IMAGE ID:镜像ID
-
CREATED:镜像创建时间
-
SIZE:镜像大小
同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如ubuntu仓库源里,有15.10、14.04等多个不同的版本,我们使用 REPOSTITORY:TAG 来定义不同的镜像。
所以,我们如果要使用版本为15.10的ubuntu系统镜像来运行容器时,命令如下:
docker run -t -i ubuntu:15.10 /bin/bash
若要使用版本为14.04的ubuntu系统镜像来运行容器时,命令如下:
docker run -t -i ubuntu:14.04 /bin/bash
如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像。
查找镜像
我们可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为:https://hub.docker.com/
我们也可以使用 docker search 命令来搜索镜像。比如我们需要一个httpd的镜像来作为我们的web服务。我们可以通过 docker search 命令搜索 httpd 来寻找适合我们的镜像。
代码如下(示例):
docker search httpd
各个参数说明:
- INDEX:索引
- NAME:镜像仓库源的名称
- DESCRIPTION:镜像的描述
- STARS:点赞个数
- OFFICIAL:是否docker官方发布
- AUTOMATED:自动构建
拉取镜像
当我们在本地主机上使用一个不存在的镜像时 Docker 就会自动下载这个镜像。如果我们想预先下载这个镜像,我们可以使用 docker pull 命令来下载它,以我们刚刚查找的httpd官方版本镜像为例:
代码如下(示例):
docker pull httpd
下载完成后,我们就可以直接使用这个镜像来运行容器啦。
更新镜像
更新镜像之前,我们需要使用镜像来创建一个容器。
代码如下(示例):
docker run -t -i ubuntu:15.10 /bin/bash
在运行的容器内使用 apt-get update -y命令进行更新。
在完成操作之后,输入 exit命令来退出这个容器。
此时ID为1122faa4e8ec的容器,是按我们的需求更改的容器。我们可以通过命令 docker commit来提交容器副本。
代码如下(示例):
docker commit -m="has update" -a="nbdlsplyb" 1122faa4e8ec lsp/ubuntu:v2
参数说明:
-
-m:提交的描述信息
-
-a:指定镜像作者
-
1122faa4e8ec:已更新好的容器ID
-
lsp/ubuntu:v2:指定要创建的目标镜像名
我们可以使用 docker images 命令来查看我们的新镜像 lsp/ubuntu:v2
使用我们的新镜像lsp/ubuntu来启动一个容器
代码如下(示例):
docker run -t -i lsp/ubuntu:v2 /bin/bash