Docker 镜像(Image)

Docker 镜像(Image)

在Docker中,一切都基于图像。镜像(Image)是文件系统和参数的组合。我们以Docker中的以下命令为例。

源代码

  1. $ docker run hello-world

    如果出现以下错误的:(没问题的请略过)

 

请不要担心,再执行一次就好了 

  

 

 

 

  • docker命令是特定的,它告诉操作系统上的Docker程序需要做些什么。
  • run命令用于说明我们想要创建映像的实例,然后将其称为容器
  • 最后,“hello-world”表示制作容器的镜像。
现在让我们看看我们如何使用Docker Hub中提供的Ubuntu镜像在我们的CentOS机器上运行Ubuntu。我们可以通过在CentOS机器上执行以下命令来实现这一点

源代码

  1. $ sudo docker run -it ubuntu /bin/bash 

 

  • 我们使用sudo命令确保它以root访问权限运行。
  • ubuntu是我们想要从Docker Hub下载并安装在我们的CentOS机器上的镜像的名称。
  • -it用来提及我们想要以交互模式运行。
  • /bin/bash一旦ubuntu启动并运行,用于运行bash shell。
如下图所示,我们已经从宿主机(CentOS)进入到Ubuntu的环境中

 

 输入exit命令,可回到宿主机的操作环境中。

显示Docker镜像(Image)

要查看系统上的Docker映像列表,可以发出以下命令。

源代码

  1. $ sudo docker images

 

此命令用于显示系统上当前安装的所有镜像(Image)。如下图所示:
报错了:打个红字(没报错的看改正后正确的图)
(这tm又是啥,好吧,上网搜搜)
解决方法:
$ systemctl daemon-reload
$ sudo service docker restart
$ sudo service docker status (自信的就省略这一步,或者systemctl status docker.service)
$ sudo docker run images
出现如下图:

 

如果没有jenkins的:请看 ( https://www.cnblogs.com/godyrg/p/11887630.html )

从上面的输出中,您可以看到服务器的两个镜像:ubuntu和hello-world。每个镜像都具有以下属性
  • REPOSITORY - 镜像的名称
  • TAG - 用于标记镜像的标签
  • IMAGE ID - 镜像的唯一标识
  • CREATED - 创建镜像的时间
  • SIZE - 镜像的大小
  • 下载Docker镜像(Image)

    可以使用docker run命令从Docker Hub下载映像。让我们详细看看我们如何做到这一点。
    语法:

    源代码

    1. docker run image

     

    选项:
    • image - 这是用于运行容器的镜像的名称
    例如:

    源代码

    1. docker run ubuntu

     

    此命令将下载ubuntu图像(如果尚未存在),并将ubuntu作为容器运行。
  • 删除Docker镜像(Image)

    可以通过docker rmi命令删除系统上的Docker镜像。让我们更详细地看一下这个命令。
    语法:

    源代码

    1. docker rmi ImageID

     

    选项:
    • ImageID - 这是需要删除的镜像的ID。
    例如:

    源代码

    1. sudo docker rmi fce289e99eb9

     

    这里的fce289e99eb9是hello-world镜像的ID
     
    附:
    当同一个镜像拥有多个标签时,docker rmi命令只是删除了该镜像多个标签中的指定标签,并不影响镜像文件本身,但当镜像只剩下一个标签时,此时就会彻底删除镜像。
    #当docker rmi命令后面跟的是镜像ID时,会尝试删除所有指向该镜像的标签,然后删除镜像文件本身,如果该镜像存在多个标签,默认无法删除,需要加-f进行删除。
    #如果有基于该镜像创建的容器,则默认无法删除镜像,需要先通过docker rm删除容器,然后再用docker rmi删除镜像,或者使用docker rmi -f强制删除(不推荐)。
  • docker images -q

    语法:

    源代码

    1. docker images -q

     

    选项:
    • q - 它告诉docker命令仅返回镜像的ID。
    例如:

    源代码

    1. sudo docker images -q

     

    如图所示:

     

     

    docker inspect

    语法:

    源代码

    1. docker inspect Repository

     

    选项:
    • Repository - 这是镜像的名称。
    输出将显示有关镜像的详细信息。
    例如:

    源代码

    1. sudo docker inspect ubuntu

     

    如图所示:

     

     

     

     

posted @ 2019-11-19 11:53  GodYrg  Views(565)  Comments(0Edit  收藏  举报