目录:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wordpress-docker-php latest 14f51c8a85db 4 days ago 494MB
nginx alpine 9c92f55c0336 13 days ago 53.3MB
node lts e5b3a7bc72bb 3 weeks ago 1.13GB
$ docker search node
NAME DESCRIPTION STARS OFFICIAL
node Node.js is a JavaScript-based platform for s… 14034 [OK]
bitnami/node Bitnami Secure Image for node 83
cimg/node The CircleCI Node.js Docker Convenience Imag… 25
circleci/node Node.js is a JavaScript-based platform for s… 135
$ docker inspect nginx:latest
[
{
"Id": "sha256:bdf62fd3a32f1209270ede068b6e08450dfe125c79b1a8ba8f5685090023bf7f",
"RepoTags": [
"nginx:latest"
],
"RepoDigests": [
"nginx@sha256:fb197595ebe76b9c0c14ab68159fd3c08bd067ec62300583543f0ebda353b5be"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2024-11-26T18:42:08Z",
"DockerVersion": "",
"Author": "",
"Architecture": "arm64",
"Variant": "v8",
"Os": "linux",
"Size": 197054391,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/588ae1db4e9dfa21d5e55e559135e9a3ad44c13651daa150579d14e53f3703b2/diff:/var/lib/docker/overlay2/fee652e354413b323a6a422e91384a556dbae39383c9110c4f537dd2523afbd7/diff:/var/lib/docker/overlay2/1f0cf92d4153cd62e1b8bee131f46a591ef84c51aa18aafb7e9e6193286321a9/diff:/var/lib/docker/overlay2/a40792ffbb5f719271a76d78f97c7ca757063c08e38d90d54cf8e0ded8d91c3e/diff:/var/lib/docker/overlay2/3e168ba4fdd28805e58a75ff0bca5b0cd79d22429fba0e76548ea00890b2f244/diff:/var/lib/docker/overlay2/d759882f3ead4a35cace7217567e06b7047f283dfc28788be65d97005542cab9/diff",
"MergedDir": "/var/lib/docker/overlay2/1b94b9312214f430a347027acdb4f1504966ec892d06b1a5ce10675fdb1b24ce/merged",
"UpperDir": "/var/lib/docker/overlay2/1b94b9312214f430a347027acdb4f1504966ec892d06b1a5ce10675fdb1b24ce/diff",
"WorkDir": "/var/lib/docker/overlay2/1b94b9312214f430a347027acdb4f1504966ec892d06b1a5ce10675fdb1b24ce/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:3e620c160447d1acff162610a533282fc64863123cba28ce40eaf98c17dde780",
"sha256:880d2e736b16ec27cfe93230185b7fa9123b9b7007914ab06cad3dbcd03deaa0",
"sha256:2c447934d7f2bbb627efecbd26692a9e28319d38d2936f7511bca77ffb7096de",
"sha256:d06e03e55b64954a14f3de88bd37021e6c7c6d7d15aec93c6333e59ceb775f38",
"sha256:d5c9fed2bbd4a673fc59864804e3f6a08cb72447eb5dc631c2f6903fbb089f57",
"sha256:fc2efc334561650ca0f2be4e0245c176004739f50a5f965add8e6b417c227f03",
"sha256:d93fefef05de8f71849a265e65bc5df15c67fbe7b14e51cac17794cb9f11ca1f"
]
},
"Metadata": {
"LastTagTime": "2025-10-21T15:13:39.935709796Z"
},
"Config": {
"Cmd": [
"nginx",
"-g",
"daemon off;"
],
"Entrypoint": [
"/docker-entrypoint.sh"
],
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NGINX_VERSION=1.27.3",
"NJS_VERSION=0.8.7",
"NJS_RELEASE=1~bookworm",
"PKG_RELEASE=1~bookworm",
"DYNPKG_RELEASE=1~bookworm"
],
"ExposedPorts": {
"80/tcp": {}
},
"Labels": {
"maintainer": "NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e"
},
"OnBuild": null,
"StopSignal": "SIGQUIT",
"User": "",
"Volumes": null,
"WorkingDir": ""
}
}
]
只想看其中某个字段,使用 -f 参数
$ docker inspect nginx:latest -f {{.Architecture}}
arm64
镜像是由多个层组成的,docker history 可以查看各层的创建信息
$ docker history nginx:latest
IMAGE CREATED CREATED BY SIZE COMMENT
bdf62fd3a32f 10 months ago CMD ["nginx" "-g" "daemon off;"] 0B buildkit.dockerfile.v0
<missing> 10 months ago STOPSIGNAL SIGQUIT 0B buildkit.dockerfile.v0
<missing> 10 months ago EXPOSE map[80/tcp:{}] 0B buildkit.dockerfile.v0
<missing> 10 months ago ENTRYPOINT ["/docker-entrypoint.sh"] 0B buildkit.dockerfile.v0
<missing> 10 months ago COPY 30-tune-worker-processes.sh /docker-ent… 4.62kB buildkit.dockerfile.v0
<missing> 10 months ago COPY 20-envsubst-on-templates.sh /docker-ent… 3.02kB buildkit.dockerfile.v0
<missing> 10 months ago COPY 15-local-resolvers.envsh /docker-entryp… 389B buildkit.dockerfile.v0
<missing> 10 months ago COPY 10-listen-on-ipv6-by-default.sh /docker… 2.12kB buildkit.dockerfile.v0
<missing> 10 months ago COPY docker-entrypoint.sh / # buildkit 1.62kB buildkit.dockerfile.v0
<missing> 10 months ago RUN /bin/sh -c set -x && groupadd --syst… 99.9MB buildkit.dockerfile.v0
<missing> 10 months ago ENV DYNPKG_RELEASE=1~bookworm 0B buildkit.dockerfile.v0
<missing> 10 months ago ENV PKG_RELEASE=1~bookworm 0B buildkit.dockerfile.v0
<missing> 10 months ago ENV NJS_RELEASE=1~bookworm 0B buildkit.dockerfile.v0
<missing> 10 months ago ENV NJS_VERSION=0.8.7 0B buildkit.dockerfile.v0
<missing> 10 months ago ENV NGINX_VERSION=1.27.3 0B buildkit.dockerfile.v0
<missing> 10 months ago LABEL maintainer=NGINX Docker Maintainers <d… 0B buildkit.dockerfile.v0
<missing> 10 months ago # debian.sh --arch 'arm64' out/ 'bookworm' '… 97.2MB debuerreotype 0.15
docker pull NAME[:tag]
默认是从 Docker hub 拉取镜像,不带标签号默认会拉取最新版本但不一定稳定的镜像,生产环境最好带上标签号拉镜像。
国内仓库有哪些?怎么验证是否有效?怎么切换国内仓库拉镜像?
国内注册服务器貌似都挂了
为镜像起个别名,相当于软链接,实际上还是同一个镜像,image id 还是一样的
$ docker images
nginx latest bdf62fd3a32f 10 months ago 197MB
$ docker tag nginx:latest mynginx:latest
$ docker images
nginx latest bdf62fd3a32f 10 months ago 197MB
mynginx latest bdf62fd3a32f 10 months ago 197MB
如果要删除 mynginx:latest,直接使用 docker rmi mynginx:latest 即可。
指定镜像名标签或者镜像id都可以删除镜像,如果有基于此镜像创建的容器,需要先把容器删除之后才能删除镜像。
$ docker rmi nginx:latest
$ docker run -it nginx:latest /bin/bash
# touch test
# exit
# 格式: docker commit -m "提交信息" -a "作者信息" <container-id> name:tag
$ docker commit -m "Add a new file" <container-id> test:01
将 docker export 导出的文件导入到 Docker 中变成镜像。
$ docker import my_rootfs.tar.gz my_image:latest
docker import 与 docker load 区别?
🛠️ 如何选择?
导出镜像到本地文件,方便备份或者传输。
$ docker save -0 ubuntu_14.04.tar ubuntu:14.04
将 docker save 导出的 tar 包再导入本地镜像库,这将导入镜像及其元数据信息(包括标签等)。
$ docker load -i ubuntu_14.04.tar
$ docker load < ubuntu_14.04.tar
使用 docker push 命令上传镜像到仓库,默认是 Docker Hub 官方仓库。
例如用户 user 上传本地的 test:latest 镜像,可以先添加新的标签 user/test:latest,然后再使用 docker push 命令上传。
# 登录 Docker Hub
$ docker login
$ docker tag test:latest user/test:latest
$ docker push user/test:latest
为什么要添加新标签?
用户 alice 要上传 test:latest 镜像,用户 bob 也要上传 test:latest 镜像,如果不添加新标签,那么最终上传到 Docker Hub 的镜像名都是 test:latest,这样会覆盖掉彼此的镜像,添加新标签后,最终上传到 Docker Hub 的镜像名是 alice/test:latest 和 bob/test:latest,互不冲突。
↶ 返回首页 ↶