列表显示
docker image ls #列出已经下载下来的镜像
docker system df #查看镜像、容器、数据卷所占用的空间
docker image ls -f dangling=true #列出所有虚悬镜像
docker image prune #删除所有虚悬镜像
docker image ls -a # 列出所有中间层镜像
docker image ls ubuntu #列出指定名称(ubuntu)的镜像
docker image ls ubuntu:16.04 #列出特定的某个镜像(ubuntu:16.04),也就是说指定仓库名和标签
docker image ls -f since=mongo:3.2 # 过滤某个镜像显示
docker image ls -q #列出所有镜像的id
docker image ls --format "{{.ID}}: {{.Repository}}" #列出镜像只包含镜像ID和仓库名
docker image ls --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}" #以表格等距显示,并且有标题行
删除
# 如果要删除本地的镜像,可以使用 docker image rm 命令,其格式为:
docker image rm [选项] <镜像1> [<镜像2> ...]
docker image rm 501ad78535f0 #通过ID(501ad78535f0)删除
docker image rm centos #通过镜像名称(centos)删除
docker image ls --digests # 列出所有摘要
# 镜像摘要 删除镜像
docker image rm node@sha256:b4f0e0bdeb578043c1ea6862f0d40cc4afe32a4a582f3be235a3b164422be228
docker image rm $(docker image ls -q redis) #删除所有仓库名为 redis 的镜像
docker image rm $(docker image ls -q -f before=mongo:3.2) #删除所有在 mongo:3.2 之前的镜像
$ docker run --name webserver -d -p 80:80 nginx
这条命令会用 nginx 镜像启动一个容器,命名为 webserver,并且映射了 80 端口
docker exec -it webserver bash # 进入webserver容器
docker diff webserver # 看到容器具体的改动
docker commit 的语法格式为:
docker commit [选项] <容器ID或容器名> [<仓库名>[:<标签>]]
我们可以用下面的命令将容器保存为镜像:
docker commit \
--author "Tao Wang <twang2218@gmail.com>" \
--message "修改了默认网页" \
webserver \
nginx:v2
使用 Dockerfile 定制镜像
空白镜像
FROM scratch
...
docker build 命令进行镜像构建。其格式为:
docker build [选项] <上下文路径/URL/->
ONBUILD
onbuild
容器
# 启动已终止容器
docker container start
#终止容器
docker container stop
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于