docker 常用的命令

本贴最后更新于 2196 天前,其中的信息可能已经时过境迁

列表显示

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
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    494 引用 • 928 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...