从前面的文章可知,当我们运行一个web项目时需要在一个容器上运行,而当我们运行一个容器时需要一个镜像,如果我们本地没有镜像,那么docker就会自动从镜像仓库中下载,默认是从docker hub公共镜像资源库下载。

一、查看本地主机镜像:

docker images
210c059fe6513f7809a97c27c14c632b.png

docker images

我的本地主机中只有ubuntu和busybox 2个镜像,ubuntu镜像是我自己下载的,busybox镜像是docker自动下载的。

镜像列表的各个选项说明:

REPOSITORY:表示镜像的仓库源

TAG:镜像的标签

IMAGE ID:镜像ID

CREATED:镜像创建时间

SIZE:镜像大小

同一个仓库源可以有多个TAG,代表不同的版本,我们可以使用仓库源:镜像标签的方式表示不同的镜像。

二、查找我们需要的镜像。

我们可以从docker hub网站来搜索镜像,Docker Hub 网址为: https://hub.docker.com/

31dd66e59bd45805740258ba09cabe35.png

https://hub.docker.com

我们也可以使用 docker search 命令来搜索镜像,比如我们需要的镜像是ubuntu镜像作为我们的web服务。

docker search ubuntu
368446788df063cf611b625889d2e692.png

docker search ubuntu

NAME: 镜像仓库源的名称

DESCRIPTION: 镜像的描述

OFFICIAL: 是否 docker 官方发布

STARS: 类似 Github 里面的 star,表示点赞、喜欢的意思。

AUTOMATED: 自动构建。

三、拉取我们所需要的镜像。

docker pull ubuntu
c640d694787c4fde58f1bf63a188815d.png

docker pull ubuntu

我们也可以获取不同版本的ubuntu镜像。

docker pull ubuntu:13.10   // 获取13.10版本的镜像
300059de7c23337d6b0085595e49535c.png

docker pull ubuntu:13.10

再次查看本地镜像:

docker images
1d8bd1fe256815bb59b360939f26e871.png

docker images

可以看到我的本地主机有2个版本的ubuntu镜像。

四、删除镜像。

docker rmi ubuntu:13.10
e5b7d989c5c87555b4f76e80a468a959.png

docker rmi ubuntu:13.10

再次查看本地主机镜像:

docker images
f5473a077345870745383a1fc5fa9ab7.png

docker images

可以看到本地主机的13.10版本的ubuntu镜像已经删掉了。

五、更新镜像。

如果从镜像库中下载的镜像不能满足我们的需求时,我们可以对镜像进行修改。

更新镜像之前先创建一个容器。

docker run -t -i ubuntu:13.10 /bin/bash

启动后在容器中输入 apt-get update 命令进行更新。

0c3ca7386e5602f86927b9c2d6153b7e.png

apt-get update

在完成操作之后,输入 exit 命令来退出这个容器。

3069c095da17bf7d4837a7aeb18ac460.png

exit

此时id为905e2d88fad2的容器是我们需求更改后的容器,我们可以通过命令 docker commit 来提交容器副本。

docker commit -m="update" -a="javachengxuyuan" 905e2d88fad2 updateubuntu:v2
6a2be9a6f0fab8cabaa0b980d6d71c22.png

docker commit

各个参数说明:

-m: 提交的描述信息

-a: 指定镜像作者

905e2d88fad2:容器 ID

updateubuntu:v2 : 指定要创建的目标镜像名

然后我们再次查看本地主机镜像:

docker images
304fd5519e18ef90ba562deaf052a63d.png

docker images

可以看到多了一个TAG为v2的镜像。

我们可以使用新镜像启动一个容器。

docker run -t -i updateubuntu:v2 /bin/bash
5ee292aeec42dfab5e51cb03cdd45da5.png

docker run

今天不早了,docker镜像的简单使用就到这里了,早睡早起呀。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐