Docker常用命令(+仓库,镜像,容器的关系)

一、仓库(repository),镜像(image),容器(container)的关系

        Docker 是一个开源的C/S架构应用容器引擎(客户端(client)和服务端(server)),让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。码头工人开发最佳实践 |码头工人文档 (docker.com)

Docker常用命令(+仓库,镜像,容器的关系)_第1张图片

 关于容器和镜像的定义,官网的解释如下:

Docker常用命令(+仓库,镜像,容器的关系)_第2张图片

         简单来说,容器是用镜像创建的运行实例。而镜像是一个打包好带上环境的项目(PS:一个镜像可以创建多个容器,跟一个类可以创建多个对象是一个道理)

Docker常用命令(+仓库,镜像,容器的关系)_第3张图片

        每个容器都可以被启动,开始,停止,删除,同时容器之间相互隔离,保证应用运行期间的安全。我们可以把容器理解为一个精简版的linux操作系统,包括root用户权限,进程空间,用户空间和网络空间等等这些,然后加上再它之上运行的应用程序。

        比如我们现在基于mysql镜像创建了一个容器,那么,这个容器其实并不是只有一个mysql程序,而是mysql同样也是安装运行在我们容器内的linux环境中的。

        镜像是 Docker 运行容器的前提,仓库是存放镜像的场所(分别公有仓库)。当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载。

二、常用命令

镜像相关的命令:

使用 docker images 来列出本地主机上的镜像Docker常用命令(+仓库,镜像,容器的关系)_第4张图片

  • REPOSITORY:表示镜像的仓库源
  • TAG:镜像的标签, 同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本
  • IMAGE ID:镜像ID
  • CREATED:镜像创建时间
  • SIZE:镜像大小

 使用 docker search 命令来搜索镜像 (docker ps 是列出容器)

Docker常用命令(+仓库,镜像,容器的关系)_第5张图片

 

  • NAME: 镜像仓库源的名称
  • DESCRIPTION: 镜像的描述
  • OFFICIAL: 是否 docker 官方发布
  • STARS: 类似 Github 里面的 star,表示点赞。
  • AUTOMATED: 自动构建。

使用docker pull 来拉取镜像

Docker常用命令(+仓库,镜像,容器的关系)_第6张图片

使用 docker rmi 删除镜像(这里需要注意一下,可以看到提示信息,无法删除该镜像,因为有容器正在引用他!除非通过添加 -f 子命令,也就是强制删除,才能移除掉该镜像!

但是,我们一般不推荐这样暴力的做法,正确的做法应该是:

  1. 先删除引用这个镜像的容器;
  2. 再删除这个镜像;)

Docker常用命令(+仓库,镜像,容器的关系)_第7张图片

 

 

 

你可能感兴趣的:(Linux,docker,容器,运维)