专业编程基础技术教程

网站首页 > 基础教程 正文

docker命令讲解(二) docker 命令大全

ccvgpt 2024-10-12 14:13:47 基础教程 8 ℃

上一篇已经部署好了docker,下面来学习一下docker命令。

docker的命令还是很多的,可以通过docker -h查看docker命令。

docker命令讲解(二) docker 命令大全

下面讲解一下docker常用命令:

显示docker版本信息,包括client与server

docker version

显示docker详细信息,包括容器数量,运行容器数量,暂停容器数量,停止容器数量,镜像数量,存储驱动,日志驱动等等信息

docker info

下载镜像,默认是从docker hub即公共仓库下载

docker pull

登录镜像仓库,如果在docker hub上面设置了私有镜像,在下载的时候就需要登录,还有自己搭建的私有仓库(harbor)做了认证权限分配,也是需要登录的

docker login 默认登录到docker hub仓库

docker login www.lookyoo.com #登录到私有仓库www.lookyoo.com

退出仓库

docker logout #默认退出docker hub

docker logout www.lookyoo.com 退出私有仓库www.lookyoo.com

查看本地镜像

docker images

-a, --all 显示所有镜像

--digests 显示镜像摘要

-f, --filter filter 根据条件过滤

--no-trunc 列出镜像ID

--format 使用Go模板打印出指定格式的列表

-q, --quiet 只显示镜像ID

例子

docker images --format "{{.ID}}: {{.Repository}}"

dbfc48660aeb: nginx

d4b641240447: mesosphere/mesos-slave

196d12cf6ab1: alpine

  1. .ID – 镜像ID
  2. .Repository – 镜像存储库名称
  3. .Tag – 镜像tag
  4. .Digest – 镜像digest
  5. .CreatedSince – 从镜像创建到现在过去的时间
  6. .CreatedAt – 镜像创建的时间
  7. .Size – 镜像硬盘占用大小

显示带列标题的数据

docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"

IMAGE ID REPOSITORY TAG

dbfc48660aeb nginx <none>

d4b641240447 mesosphere/mesos-slave 1.7.0

196d12cf6ab1 alpine <none>

过滤

过滤标志-f or –filter格式为key=value。如果超过一个过滤,那么就传递多个标志[如–filter “foo=bar” –filter “bif=baz”]。

目前支持的过滤有:

dangling [布尔值 true或false]

label (label=或label==)

before ([:],

or ) – 过滤出指定镜像之前的镜像

since ([:],

or ) – 过滤出指定镜像之后的镜像

例子

过滤出没有tag的镜像

[root@wxmini-test ~]# docker images --filter "dangling=true"

REPOSITORY TAG IMAGE ID CREATED SIZE

nginx <none> dbfc48660aeb 13 days ago 109MB

alpine <none> 196d12cf6ab1 6 weeks ago 4.41MB

before过滤出指定镜像之前创建的镜像

docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

nginx <none> dbfc48660aeb 13 days ago 109MB

mesosphere/mesos-slave 1.7.0 d4b641240447 5 weeks ago 1.06GB

alpine <none> 196d12cf6ab1 6 weeks ago 4.41MB

docker images --filter "before=dbfc48660aeb"

REPOSITORY TAG IMAGE ID CREATED SIZE

mesosphere/mesos-slave 1.7.0 d4b641240447 5 weeks ago 1.06GB

alpine <none> 196d12cf6ab1 6 weeks ago 4.41MB

since过滤出指定镜像之后创建的镜像

docker images --filter "since=d4b641240447"

REPOSITORY TAG IMAGE ID CREATED SIZE

nginx <none> dbfc48660aeb 13 days ago 109MB

列出所有在运行的容器

docker ps

-a, --all 列出所有容器,包括停止的容器

-f, --filter filter 列出符合条件的容器

--format string 使用go模版列出容器

-n, --last int 列出最近创建的n个容器

--no-trunc 显示完整的镜像ID

-q, --quiet 仅列出容器ID

-s, --size 显示容器大小,可以获得 2 个数值:一个是容器真实增加的大小,一个是整个容器的虚拟大小。容器虚拟大小 = 容器真实增加大小 + 容器镜像大小。

-l 显示最近创建的容器

例子

docker ps --filter id=c89ebbb3a3fc --filter name=test_nginx.1.l0zfy91v68kddqci4do29o1mn

id 和 name,支持正则表达式,使用起来非常灵活。

docker ps--filter name=^/test_nginx.1.l0zfy91v68kddqci4do29o1mn$

精确匹配 name 为 bingohuang 的容器。注意,容器实际名称,开头是有一个正斜线 / ,可用 docker inspect查看

docker ps --filter name=.*.harbor*

匹配 name 包含 harbor 的容器,和 --filter name=harbor 一个效果。

当使用了 --format 选项,那么 ps 命令只会输出 template 中指定的内容:

docker ps --format "{{.ID}}: {{.Command}}"

6db325a95ff6: "ping www.baidu.com"

99749fc852ff: "/marathon/bin/marat…"

b6f2d8fabbcb: "mesos-master --regi…"

a50decb3773d: "/harbor/start.sh"

ee6292814cc4: "nginx -g 'daemon of…"

aa262cff8a8c: "/harbor/start.sh"

bf8a2a5507f1: "/entrypoint.sh /etc…"

2257de1b128d: "/entrypoint.sh post…"

f40d6822f178: "/harbor/start.sh"

f3274b74afea: "docker-entrypoint.s…"

e540aba0ff4c: "/bin/sh -c /usr/loc…"

如果想带上表格列头,需要再 template 中加上 table 指令:

docker ps --format "table {{.ID}}: {{.Command}}"

CONTAINER ID: COMMAND

6db325a95ff6: "ping www.baidu.com"

99749fc852ff: "/marathon/bin/marat…"

b6f2d8fabbcb: "mesos-master --regi…"

a50decb3773d: "/harbor/start.sh"

ee6292814cc4: "nginx -g 'daemon of…"

aa262cff8a8c: "/harbor/start.sh"

bf8a2a5507f1: "/entrypoint.sh /etc…"

2257de1b128d: "/entrypoint.sh post…"

f40d6822f178: "/harbor/start.sh"

f3274b74afea: "docker-entrypoint.s…"

e540aba0ff4c: "/bin/sh -c /usr/loc…"

由于篇幅限制,本篇的docker 命令就先介绍到此,后面的篇幅继续为大家分享,关注我们利用碎片时间,每天学习一点IT技术,涨薪离你还远吗?

Tags:

最近发表
标签列表