Docker(一) 走进Docker

码动青春 10,693 2020-11-07

Docker(一) 走进Docker

Docker 简介

  Docker 是一个开源的应用容器引擎,基于 Go 语言,用于创建、管理和编排容器,目前主要有两个版本:企业版(EE)和社区版(CE)。Docker 版本号遵循 YY.MM-xx格式,类似于Ubuntu等项目。

1. 镜像

  关于Docker镜像的理解比较晦涩难懂,初学者可以暂且理解为类似于操作系统的IOS镜像文件。我们可以根据不同的操作系统ISO文件安装不同的操作系统,在Docker上我们可以根据不同的镜像文件创建不同的Container(容器)。
  镜像需要从镜像仓库拉取,常见的镜像仓库是 Docker Hub,但是也存在其他镜像仓库服务。拉取操作可以把镜像下载到本地,可以使用该镜像启动一个或多个容器。一旦容器从镜像启动后,二者就变成了相互依赖的关系,由镜像启动的容器未全部停止之前,镜像是无法被删除的。

镜像常用命令:

  • 镜像查看
# 命令一
duke@duke-PC:~$ docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

# 命令二
duke@duke-PC:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
  • 镜像搜索 docker search [option] keyword
# 示例:搜索 mysql 镜像
duke@duke-PC:~$ docker search mysql

# 命令行输入 docker search --help, 参数如下:
  -f, --filter filter : 过滤输出的内容
      --limit           指定搜索内容展示个数 (default 25)
      --no-trunc        不截断输出内容

# 示例:搜索官方提供的 mysql 镜像
duke@duke-PC:~$ docker search --filter=is-offical=true mysql

# 示例:搜索 Stars 数超过 100 的 mysql 镜像
duke@duke-PC:~$ docker search --filter=stars=100 mysql
  • 镜像拉取 docker image pull <reposity>:<tag>
# 示例:拉取 tag 为3.3.11的 mongo 镜像
duke@duke-PC:~$ docker image pull mongo:3.3.11

# 示例:拉取 tag 为 latest 的 mongo 镜像,注:latest 不保证指向仓库中的最新镜像。
duke@duke-PC:~$ docker image pull mongo:latest 

# 示例:未指定 tag,默认拉取 tag 为 latest 的镜像
duke@duke-PC:~$ docker image pull mongo

# 示例:从第三方镜像仓库获取镜像,下面命令表示从 microsoft 仓库拉取 dotnet 镜像
duke@duke-PC:~$ docker image pull microsoft/dotnet:latest
  • 镜像删除
# 示例:删除3.3.11版本的mongo,docker rmi [image] 或者 docker image rm [image] 都可以
duke@duke-PC:~$ docker image rm mongo:3.3.11

# 示例:删除latest版本的hello-world
duke@duke-PC:~$ docker rmi hello-world:latest


# Docker