一、Docker的5个主要概念
- 镜像(Docker Image)
镜像是Docker容器的基石。可以看成是Java中的类,容器就是镜像的运行实例,有了镜像才能启动容器。镜像可以用来创建Docker容器。可以通过命令“dock images”查看本地的所有镜像。 - 容器(Docker Container)
Image的一个运行实例就是一个Container,可以看成是Java中的对象,通过类实例化而来。一个Image可以有多个Container,每个Container都是相互隔离的。可以通过命令“docker ps”查看正在运行的Container(或者通过docker ps -a查看所有Container)。 - 仓库(Docker Repository/Registry)
同maven仓库,它用来存放第三方库。Docker的仓库用来存放镜像,且也可分为公开仓库和私有仓库。 - Docker客户端(Docker client)
命令行工具,用于与Docker后台交互。 - Docker后台(Docker daemon)
宿主机上运行的Docker后台服务,管理容器的构建、运行、分发等。
二、前言
Docker的安装可以看我前面的文章:
win10下安装Docker
Ubuntu16.04安装Docker
在首次安装Docker后,我们都会使用下面的命令运行第一个容器:
docker run hello-world
但是你知道Docker是怎么工作的吗?这个run
的过程,都做了哪些工作?理解了这个,对之后学习使用Docker会有很大帮助。
三、运行过程
运行的时候会进行下面的执行过程, hello-world
其实就是镜像的名称。
因为Docker Hub
是国外的仓库,由于网络原因,可能会出现下面的网络连接超时错误:
这时候,就需要使用国内的镜像仓库了,我使用的是阿里云的容器镜像服务
四、使用阿里云的容器镜像服务
注册阿里云账号后,进入“容器镜像服务”页面,里面有详细的配置步骤:
我这里演示的是 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 #查看最近创建的一个容器
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。