菜鸟博客
菜鸟站长

Docker常用命令

Docker 拉取镜像命令

docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

Docker 运行命令

docker run -it --rm \
    ubuntu:18.04 \
    bash

解释:
**-it**:这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。我们这里打算进入 bash 执行一些命令并查看返回结果,因此我们需要交互式终端。
**--rm**:这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动 docker rm。我们这里只是随便执行个命令,看看结果,不需要排障和保留结果,因此使用 --rm 可以避免浪费空间。
**ubuntu:18.04**:这是指用 ubuntu:18.04 镜像为基础来启动容器。
**bash**:放在镜像名后的是 命令,这里我们希望有个交互式 Shell,因此用的是 bash。

列出镜像

docker image ls
#结果列表包含了 仓库名、标签、镜像 ID、创建时间 以及 所占用的空间

查看镜像、容器、数据卷所占用的空间

docker system df
#结果列表包含了 仓库名、标签、镜像 ID、创建时间 以及 所占用的空间

查看虚悬镜像

docker image ls -f dangling=true
#一般可以随意删除
docker image prune

中间层镜像

docker image ls -a
#存在很多依赖关系,尽量别删除

列出部分镜像

#根据仓库名列出镜像
docker image ls ubuntu
#指定仓库名和标签
docker image ls ubuntu:18.04
#滤器参数--filter,或者简写 -f
#希望看到在 mongo:3.2 之后建立的镜像
docker image ls -f since=mongo:3.2
#想查看某个位置之前的镜像也可以,只需要把 since 换成 before 即可。
docker image ls -f before=mongo:3.2
#如果镜像构建时,定义了 LABEL ,可以通过 LABEL 来过滤
docker image ls -f label=com.example.version=0.1
#把所有的虚悬镜像的 ID 列出来
docker image ls -q
#列出镜像结果,只包含镜像ID和仓库名
docker image ls --format "{{.ID}}: {{.Repository}}"
#以表格等距显示,并且有标题行,和默认一样,不过自己定义列
docker image ls --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"

删除镜像

#删除镜像示例
docker image rm [选项] <镜像1> [<镜像2> ...]

#用 ID、镜像名、摘要删除镜像
#501为ID的前三位,3位以上可以区别其他镜像的ID就可以
docker image rm 501

#用镜像名,也就是 <仓库名>:<标签>,来删除镜像
docker image rm centos

#使用 镜像摘要 删除镜像
#显示镜像摘要
docker image ls --digests

#示例结果:
REPOSITORY   TAG      DIGEST         IMAGE ID            CREATED             SIZE
node         slim     sha256:b4f0e0bdeb578043c1ea6862d40cc4afe32a4a582f3be235a

#根据镜像摘要删除
docker image rm [email protected]:b4f0e0bdeb578043c1ea6862d40cc4afe32a4a582f3be235a

#删除所有仓库名为 redis 的镜像
docker image rm $(docker image ls -q redis)

#删除所有在 mongo:3.2 之前的镜像
docker image rm $(docker image ls -q -f before=mongo:3.2)
赞(0)
未经允许不得转载:不吃香菜 » Docker常用命令

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址