介绍
当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中*载下**,默认是从 Docker Hub 公共镜像源*载下**。也可手动拉去和上传docker 镜像到仓库。

镜像管理
查看本地镜像
我们可以使用 docker images 来列出本地主机上的镜像。字段说明REPOSITORY(表示镜像的仓库源)、TAG(镜像标签,同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,latest表示最新版本)、IMAGE ID(镜像ID)、CREATED(创建镜像时间)、SIZE(镜像大小)
banbohub@banbohub:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 18.04 90d5884b1ee0 5 days ago 188 MB
php 5.6 f40e9e0f10c8 9 days ago 444.8 MB
nginx latest 6f8d099c3adc 12 days ago 182.7 MB
mysql 5.6 f2e8d6c772c0 3 weeks ago 324.6 MB
httpd latest 02ef73cf1bc0 3 weeks ago 194.4 MB
ubuntu 15.10 4e3b13c8a266 4 weeks ago 136.3 MB
hello-world latest 690ed74de00f 6 months ago 960 B
拉取仓库镜像
当我们在本地主机上使用一个不存在的镜像时 Docker 就会自动*载下**这个镜像。如果我们想预先*载下**这个镜像,我们可以使用 docker pull 命令来*载下**它。
banbohub@banbohub:~$ docker pull ubuntu:18.04
13.10: Pulling from library/ubuntu
6599cadaf950: Pull complete
23eda618d451: Pull complete
f0be3084efe9: Pull complete
52de432f084b: Pull complete
a3ed95caeb02: Pull complete
Digest: sha256:15b79a6654811c8d992ebacdfbd5152fcf3d165e374e264076aa435214a947a3
Status: Downloaded newer image for ubuntu:18.04
查找仓库镜像
我们可以从 Docker Hub 网站来搜索镜像,也可以使用 docker search 命令来搜索镜像。比如我们需要一个 ubuntu 的镜像来作为我们的 web 服务。我们可以通过 docker search 命令搜索 ubuntu 来寻找适合我们的镜像。字段说明:NAME(镜像仓库源的名称)、DESCRIPTION(镜像的描述)、OFFICIAL(是否 docker 官方发布)、stars(点赞关注数量)、AUTOMATED(自动构建)
banbohub@banbohub:~$ docker search ubuntu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating sys… 13235 [OK]
dorowu/ubuntu-desktop-lxde-vnc Docker image to provide HTML5 VNC interface … 588 [OK]
websphere-liberty WebSphere Liberty multi-architecture images … 282 [OK]
rastasheep/ubuntu-sshd Dockerized SSH service, built on top of offi… 256 [OK]
consol/ubuntu-xfce-vnc Ubuntu container with "headless" VNC session… 242 [OK]
ubuntu-upstart DEPRECATED, as is Upstart (find other proces… 112 [OK]
neurodebian NeuroDebian provides neuroscience research s… 87 [OK]
拉取仓库镜像
使用命令 docker pull 来*载下**镜像,*载下**完成后,我们就可以使用这个镜像了。
banbohub@banbohub ~ % docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
Digest: sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Status: Image is up to date for ubuntu:latest
docker.io/library/ubuntu:latest
删除本地镜像
镜像删除使用 docker rmi 命令,指定景象名称或者ID,当镜像正在被使用的时候将无法删除镜像,需要删除相应的容器。
banbohub@banbohub ~ % docker rmi feb5d9fea6a5
Error response from daemon: conflict: unable to delete feb5d9fea6a5 (must be forced) - image is being used by stopped container 740b80e9c2af
banbohub@banbohub ~ % docker rm -f 740b80e9c2af
740b80e9c2af
banbohub@banbohub ~ % docker rmi feb5d9fea6a5
Untagged: hello-world:latest
Untagged: hello-world@sha256:cc15c5b292d8525effc0f89cb299f1804f3a725c8d05e158653a563f15e4f685
Deleted: sha256:feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412
Deleted: sha256:e07ee1baac5fae6a26f30cabfe54a36d3402f96afda318fe0a96cec4ca393359
设置镜像标签
我们可以使用 docker tag 命令,指定镜像名称:版本的方式或者指定镜像ID的方式添加一个新的标签。
banbohub@banbohub:~$ docker tag ubuntu:latest banbohub/ubuntu:18.04
banbohub@banbohub ~ % docker images | grep banbohub
banbohub/ubuntu 18.04 ba6acccedd29 6 weeks ago 72.8MB