1-Docker镜像的基本操作.md

查看镜像信息-【docker images】

帮助

docker images [OPTIONS] [REPOSITORY[:TAG]]
List images
Options:
  -a, --all             Show all images (default hides intermediate images)
      --digests         Show digests「显示镜像摘要」
  -f, --filter filter   Filter output based on conditions provided「根据提供的条件过滤输出」
      --format string   Pretty-print images using a Go template「使用Go模板打印漂亮的图像」
      --no-trunc        Don't truncate output「不要截断输出」
  -q, --quiet           Only show numeric IDs「仅显示数字ID」

实例

docker inspect.md

docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
imhang/shadowsocks-docker   latest              463999e75ab0        4 months ago        11.1MB
fischerman/docker-ttrss     latest              847b21087c9f        7 months ago        329MB
kdelfour/lychee-docker      latest              1bed5bfa1ad5        4 years ago         563MB
nornagon/postgres           latest              a0ade66f42cc        6 years ago         386MB
nornagon/postgres           latest_ssr          a0ade66f42cc        6 years ago         386MB

添加镜像标签【docker tag】

帮助-语法

Usage:  docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

实例

root@wq:~# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
fischerman/docker-ttrss     latest              847b21087c9f        7 months ago        329MB
nornagon/postgres           latest              a0ade66f42cc        6 years ago         386MB

root@wq:~# docker tag nornagon/postgres:latest nornagon/postgres:latest_ssr

root@wq:~# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
fischerman/docker-ttrss     latest              847b21087c9f        7 months ago        329MB
nornagon/postgres           latest              a0ade66f42cc        6 years ago         386MB
nornagon/postgres           latest_ssr          a0ade66f42cc        6 years ago         386MB

他们的ID一致,实际上指向同一个镜像文件,只是别名不同而已。docker tag命令添加的标签实际上起到了类似链接的作用。

查看详细的镜像信息【inspect】

获取该镜像的详细信息,包括制作者、适应架构、各层的数字摘要等:

帮助

Usage:  docker inspect [OPTIONS] NAME|ID [NAME|ID...]
Return low-level information on Docker objects「返回有关Docker对象的低级信息」
Options:
  -f, --format string   Format the output using the given Go template「使用给定的Go模板格式化输出」
  -s, --size            Display total file sizes if the type is container「如果类型为容器,则显示文件总大小」
      --type string     Return JSON for specified type「返回指定类型的JSON」

实例1

docker inspect ubuntu:14.04
....

回的是一个JSON格式的消息,如果我们只要其中一项内容时,可以使用参数-f来指定

查看单独信息【inspect】

获取容器/镜像的元数据

帮助

docker inspect -f {{ }} {{ }} NAME|ID

-f 的实参是个 Go 模版,并在容器/镜像的元数据上以该 Go 模版作为输入,最终返回模版指定的数据。

模版指令

{{ }} 语法用于处理模版指令,大括号外的任何字符都将直接输出。
“.” 表示“当前上下文”。大多数情况下表示了容器元数据的整个数据结构,但在某些情况下可以重新规定上下文,比如使用 with 函数:

实例

root@wq:~# docker inspect -f {{".Metadata"}} nornagon/postgres:latest 
{2020-08-14 10:24:43.728542547 +0800 CST}

root@wq:~# docker inspect -f {{".Created"}} imhang/shadowsocks-docker:latest
2020-03-28T17:29:36.054883547Z
root@wq:~#  docker inspect --format={{".Config"}} imhang/shadowsocks-docker:latest
{   false false false map[443/tcp:{} 443/udp:{}] false false false [PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin SS_PORT=443 SS_PASSWORD=123456 SS_METHOD=chacha20-ietf-poly1305 SS_TIMEOUT=600] [] <nil> true sha256:a2cb0c642fb7d71a07d27539399867d8cfc76d09ea6737f9edcac8e1ef480a63 map[]  [/bin/sh -c ss-server -p $SS_PORT -k $SS_PASSWORD -m $SS_METHOD -t $SS_TIMEOUT -d 8.8.8.8,8.8.4.4 -u --fast-open] false  [] map[]  <nil> []}

二次过滤

当查看的的信息太多的时候,需要在过滤一次

root@wq:~# docker inspect --format='{{.Config.Image}}' imhang/shadowsocks-docker:latest
sha256:a2cb0c642fb7d71a07d27539399867d8cfc76d09ea6737f9edcac8e1ef480a63

互联网示例 ``` docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mymysql 172.17.0.3 ```

查看镜像历史【docker history】

该命令将列出各层的创建信息。
–no-trunc选项来输出完整命令

搜寻镜像

  搜索远端仓库的共享镜像,默认是官方仓库。

帮助

root@wq:~# docker search ubuntu --help
Usage:  docker search [OPTIONS] TERM
Search the Docker Hub for images
Options:
  -f, --filter filter   Filter output based on conditions provided  「根据条件过滤输出」
      --format string   Pretty-print search using a Go template「使用Go模板进行漂亮的打印搜索」
      --limit int       Max number of search results (default 25)「最多搜索出多少条目(默认25)」
      --no-trunc        Don't truncate output「不要截断输出(默认否)」

实例

搜索所有星级为3以上的带nginx关键字的镜像

$docker search --filter=stars=3 nginx OR docker search -f=stars=3 nginx

NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
nginx                              Official build of Nginx.                        13616               [OK]
jwilder/nginx-proxy                Automated Nginx reverse proxy for docker con…   1861              [OK]
richarvey/nginx-php-fpm            Container running Nginx + PHP-FPM capable of…   782               [OK]
linuxserver/nginx                  An Nginx container, brought to you by LinuxS…   126
...

删除镜像【docker rmi】

帮助

Usage:  docker rmi [OPTIONS] IMAGE [IMAGE...]
Remove one or more images
Options:
  -f, --force      Force removal of the image「强制删除镜像」
      --no-prune   Do not delete untagged parents「

实例

docker rmi myubuntu:latest
Untagged: myubuntu:latest

如果该镜像没有额外的标签指向它(也就是只有一个标签的时候),执行docker rmi命令,可以看出它会删除这个镜像文件的所有层
$ docker rmi ubuntu:14.04 OR $ docker rmi 2fa927b5cdd3

Untagged: ubuntu:14.04
Deleted: sha256:8f1bd21bd25c3fb1d4b00b7936a73a0664f932e11406c48a0ef19d82fd0b7342
Deleted: sha256:8ea3b9ba4dd9d448d1ca3ca7afa8989d033532c11050f5e129d267be8de9c1b4
Deleted: sha256:7db5fb90eb6ffb6b5418f76dde5f685601fad200a8f4698432ebf8ba80757576
Deleted: sha256:19a7e879151723856fb640449481c65c55fc9e186405dd74ae6919f88eccce75
Deleted: sha256:c357a3f74f16f61c2cc78dbb0ae1ff8c8f4fa79be9388db38a87c7d8010b2fe4
Deleted: sha256:a7e1c363defb1f80633f3688e945754fc4c8f1543f07114befb5e0175d569f4c

PS

postscript(备注)

通常不直接使用-f来删除一个存在容器的镜像。最好先删除该镜像依赖的所有容器再删除镜像
**删除容器的命令docker rm [容器ID]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值