Docker 镜像(Image)
在Docker中,一切都基于图像。镜像(Image)是文件系统和参数的组合。我们以Docker中的以下命令为例。
源代码
- $ docker run hello-world
如果出现以下错误的:(没问题的请略过)
请不要担心,再执行一次就好了
docker
命令是特定的,它告诉操作系统上的Docker程序需要做些什么。run
命令用于说明我们想要创建映像的实例,然后将其称为容器。- 最后,“hello-world”表示制作容器的镜像。
现在让我们看看我们如何使用Docker Hub中提供的Ubuntu镜像在我们的CentOS机器上运行Ubuntu。我们可以通过在CentOS机器上执行以下命令来实现这一点
源代码
- $ 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映像列表,可以发出以下命令。
源代码
- $ sudo docker images
此命令用于显示系统上当前安装的所有镜像(Image)。如下图所示:
报错了:打个红字(没报错的看改正后正确的图)
(这tm又是啥,好吧,上网搜搜)
解决方法:
$ systemctl daemon-reload
$ sudo service docker restart
$ sudo service docker status (自信的就省略这一步,或者systemctl status docker.service)
$ sudo docker run images
$ 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下载映像。让我们详细看看我们如何做到这一点。语法:源代码
- docker run image
选项:- image - 这是用于运行容器的镜像的名称
例如:源代码
- docker run ubuntu
此命令将下载ubuntu图像(如果尚未存在),并将ubuntu作为容器运行。 -
删除Docker镜像(Image)
可以通过docker rmi
命令删除系统上的Docker镜像。让我们更详细地看一下这个命令。语法:源代码
- docker rmi ImageID
选项:- ImageID - 这是需要删除的镜像的ID。
例如:源代码
- sudo docker rmi fce289e99eb9
这里的fce289e99eb9是hello-world镜像的ID附:当同一个镜像拥有多个标签时,docker rmi命令只是删除了该镜像多个标签中的指定标签,并不影响镜像文件本身,但当镜像只剩下一个标签时,此时就会彻底删除镜像。
#当docker rmi命令后面跟的是镜像ID时,会尝试删除所有指向该镜像的标签,然后删除镜像文件本身,如果该镜像存在多个标签,默认无法删除,需要加-f进行删除。
#如果有基于该镜像创建的容器,则默认无法删除镜像,需要先通过docker rm删除容器,然后再用docker rmi删除镜像,或者使用docker rmi -f强制删除(不推荐)。 -
docker images -q
语法:源代码
- docker images -q
选项:- q - 它告诉docker命令仅返回镜像的ID。
例如:源代码
- sudo docker images -q
如图所示:docker inspect
语法:源代码
- docker inspect Repository
选项:- Repository - 这是镜像的名称。
输出将显示有关镜像的详细信息。例如:源代码
- sudo docker inspect ubuntu
如图所示: