Docker

Docker镜像常用命令

2019-05-05  本文已影响0人  王勇1024

获取镜像

  1. 获取指定版本的镜像
docker pull ubuntu:14.04
  1. 获取最新镜像
docker pull ubuntu:latest
# 如果不显示指定版本,则默认会选择latest
docker pull ubuntu

如果从非官方的仓库下载,则需要在仓库名称前指定完整的仓库地址:

docker pull hub.c.163.com/public/ubuntu:14.04

查看镜像信息

  1. 使用images列出镜像
docker images

images子命令主要支持如下选项:

  1. 使用tag命令添加镜像标签
docker tag ubuntu:latest myubuntu:latest
  1. 使用inspect命令查看详细信息
docker inspect ubuntu:14.04

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

docker inspect ubuntu:14.04 -f {{".Architecture"}}
  1. 使用history命令查看镜像历史
$ docker history ubuntu:14.04
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
65613486b3ef        7 days ago          /bin/sh -c #(nop)  CMD ["/bin/bash"]            0B
<missing>           7 days ago          /bin/sh -c mkdir -p /run/systemd && echo 'do…   7B
<missing>           7 days ago          /bin/sh -c rm -rf /var/lib/apt/lists/*          0B
<missing>           7 days ago          /bin/sh -c set -xe   && echo '#!/bin/sh' > /…   195kB
<missing>           7 days ago          /bin/sh -c #(nop) ADD file:574946dfc7122f930…   188MB

搜索镜像

使用docker search命令可以搜索远端仓库中共享的镜像,默认搜索官方仓库中的镜像。

$ docker search -s 100 ubuntu
NAME                                                   DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
ubuntu                                                 Ubuntu is a Debian-based Linux operating sys…   9487                [OK]
dorowu/ubuntu-desktop-lxde-vnc                         Docker image to provide HTML5 VNC interface …   296                                     [OK]
rastasheep/ubuntu-sshd                                 Dockerized SSH service, built on top of offi…   213                                     [OK]
consol/ubuntu-xfce-vnc                                 Ubuntu container with "headless" VNC session…   174                                     [OK]

支持的参数主要包括:

删除镜像

  1. 使用标签删除镜像
    命令格式为:
docker rmi IMAGE [IMAGE ...]

注意:当同一个镜像拥有多个标签的时候,docker rmi命令指示删除该镜像多个标签中的指定标签而已。
但当镜像只剩一个标签的时候就要消息了,此时再使用docker rmi命令会彻底删除镜像。

  1. 使用ID删除镜像
    当使用docker rmi命令,并且后面跟上镜像的ID(也可以是能区分的部分ID串前缀)时,会先尝试删除所有指向该镜像的标签,然后删除该镜像文件本身。
  2. 强制删除镜像
    当该镜像创建的容器存在时,镜像文件默认是无法删除的,如果想要强制删除镜像,可以使用-f参数:
docker rmi -f ubuntu:14.04

注意通常不推荐使用-f参数强制删除一个存在容器依赖的镜像,正确的做法是先删除依赖该镜像的所有容器,在来删除镜像。

保存和载入镜像

  1. 保存镜像
    如果想要导出镜像到本地文件,可以使用docker save命令
sudo docker save -o ubuntu_14.04.tar ubuntu:14.04
  1. 载入镜像
    可以通过docker load将tar文件导入到本地镜像库
docker load --input ubuntu_14.04.tar

docker load < ubuntu_14.04.tar

上传镜像

可以使用docker push命令上传镜像到仓库,默认上传到Docker Hub官方仓库。命令格式为:

docker push NAME[:TAG] [REGISTRY_HOST[:REGISTRY_PORT]/] NAME:[:TAG]
上一篇下一篇

猜你喜欢

热点阅读