一、Docker的5个主要概念

  1. 镜像(Docker Image)
    镜像是Docker容器的基石。可以看成是Java中的类,容器就是镜像的运行实例,有了镜像才能启动容器。镜像可以用来创建Docker容器。可以通过命令“dock images”查看本地的所有镜像。
  2. 容器(Docker Container)
    Image的一个运行实例就是一个Container,可以看成是Java中的对象,通过类实例化而来。一个Image可以有多个Container,每个Container都是相互隔离的。可以通过命令“docker ps”查看正在运行的Container(或者通过docker ps -a查看所有Container)。
  3. 仓库(Docker Repository/Registry)
    同maven仓库,它用来存放第三方库。Docker的仓库用来存放镜像,且也可分为公开仓库和私有仓库。
  4. Docker客户端(Docker client)
    命令行工具,用于与Docker后台交互。
  5. Docker后台(Docker daemon)
    宿主机上运行的Docker后台服务,管理容器的构建、运行、分发等。

二、前言

Docker的安装可以看我前面的文章:
win10下安装Docker
Ubuntu16.04安装Docker
在首次安装Docker后,我们都会使用下面的命令运行第一个容器:

docker run hello-world

但是你知道Docker是怎么工作的吗?这个run的过程,都做了哪些工作?理解了这个,对之后学习使用Docker会有很大帮助。

三、运行过程

运行的时候会进行下面的执行过程, hello-world 其实就是镜像的名称。
图片描述

因为Docker Hub是国外的仓库,由于网络原因,可能会出现下面的网络连接超时错误:

clipboard.png

这时候,就需要使用国内的镜像仓库了,我使用的是阿里云的容器镜像服务

四、使用阿里云的容器镜像服务

注册阿里云账号后,进入“容器镜像服务”页面,里面有详细的配置步骤:
clipboard.png
我这里演示的是 Docker for Windows 程序,所以如下设置:

在系统右下角托盘图标内右键菜单选择 Settings,打开配置窗口后左侧导航菜单选择 Docker Daemon。编辑窗口内的JSON串,填写加速器地址,如下所示:
    {
      "registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]
    }
编辑完成,点击 Apply 保存按钮,等待Docker重启并应用配置的镜像加速器。

再执行docker run hello-world命令就可以了。

五、查看运行的容器

docker ps #查看所有正在运行的容器 Container
docker ps -a #查看创建的所有容器
docker ps -l #查看最近创建的一个容器

Developer
1.4k 声望123 粉丝

只要还在学习,人生就有无限的希望...