管理本地 Docker 映像

Docker 入门

Tim Sangster

Software Engineer @ DataCamp

Docker Hub 是全球最大的容器映像库与社区。浏览来自软件厂商、开源项目和社区的 100,000+ 映像。下载量最高的示例:Nginx、MongoDB、Alpine Linux、Node.js、Redis、BusyBox 等。

Docker 入门

拉取映像

docker pull <image-name>
docker pull postgres
docker pull ubuntu
repl@host:/# docker pull hello-world
Using default tag: latest
latest: Pulling from library/hello-world
7050e35b49f5: Pull complete 
Digest: sha256:e18f0a777aefabe047a671ab3ec3eed05414477c951ab1a6f352a06974245fe7
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latest
Docker 入门

映像版本

Docker 映像有多个版本或标签,此例显示了 ubuntu 的 6 个版本。例如 18.04 也有标签 bionic。

docker pull <image-name>:<image-version>
docker pull ubuntu:22.04
docker pull ubuntu:jammy
Docker 入门

列出映像

docker images
repl@host:/# docker images
REPOSITORY    TAG               IMAGE ID       CREATED         SIZE
hello-world   latest            46331d942d63   7 months ago    9.14kB
ubuntu        bionic-20210723   7c0c6ae0b575   15 months ago   56.6MB
postgres      12.7              f076c2fa35f5   15 months ago   300MB
postgres      10.3              cbb7481ff9d5   4 years ago     232MB
...
Docker 入门

删除映像

docker image rm <image-name>
repl@host:/# docker image rm hello-world
Untagged: hello-world:latest
Untagged: hello-world@sha256:e18f0a777aefabe047a671ab3ec3eed05414477c951ab1a6f35..
Deleted: sha256:46331d942d6350436f64e614d75725f6de3bb5c63e266e236e04389820a234c4
Deleted: sha256:efb53921da3394806160641b72a2cbd34ca1a9a8345ac670a85a04ad3d0e3507
repl@host:/# docker image rm hello-world  
Error response from daemon: conflict: unable to remove repository reference 
"hello-world" (must force) - container 96a7b7b0c535 is using its 
referenced image 46331d942d63
Docker 入门

清理容器

docker container prune
repl@host:/# docker container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
4a7f7eebae0f63178aff7eb0aa39cd3f0627a203ab2df258c1a00b456cf20063
f98f9c2aa1eaf727e4ec9c0283bc7d4aa4762fbdba7f26191f26c97f64090360

Total reclaimed space: 212 B
Docker 入门

清理映像

docker image prune -a
repl@host:/# docker image prune -a
WARNING! This will remove all images without at least one container associated t..
Are you sure you want to continue? [y/N] y
Deleted Images:
untagged: alpine:latest
untagged: alpine@sha256:3dcdb92d7432d56604d4545cbd324b14e647b313626d99b889d0626d..
deleted: sha256:4e38e38c8ce0b8d9041a9c4fefe786631d1416225e13b0bfe8cfa2321aec4bba
deleted: sha256:4fe15f8d0ae69e169824f25f1d4da3015a48feeeeebb265cd2e328e15c6a869f

Total reclaimed space: 16.43 MB
Docker 入门

悬空映像

docker images
repl@host:/# docker images
REPOSITORY    TAG               IMAGE ID       CREATED         SIZE
testsql       latest            6c49f0cce145   7 months ago    3.73GB
<none>        <none>            a22b8450b88f   7 months ago    3.73GB
<none>        <none>            10dd2d03f59c   7 months ago    3.73GB
<none>        <none>            878bae40320b   7 months ago    3.73GB
<none>        <none>            4ea70583ba54   7 months ago    3.75GB
<none>        <none>            3c64576a3a7d   7 months ago    3.75GB
Docker 入门

新命令汇总

用途 命令
拉取映像 docker pull <image-name>
拉取指定版本 docker pull <image-name>:<image-version>
列出本地映像 docker images
删除映像 docker image rm <image-name>
删除所有已停止的容器 docker container prune
删除所有映像 docker image prune -a
Docker 入门

Passons à la pratique !

Docker 入门

Preparing Video For Download...