Docker 架构
Docker 包括三个基本概念:
- 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
- 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
- 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
Docker 容器通过 Docker 镜像来创建。
容器与镜像的关系类似于面向对象编程中的对象与类。
| Docker | 面向对象 |
|---|---|
| 容器 | 对象 |
| 镜像 | 类 |

| 概念 | 说明 |
|---|---|
| Docker 镜像(Images) |
Docker 镜像是用于创建 Docker 容器的模板,比如 Ubuntu 系统。 |
| Docker 容器(Container) |
容器是独立运行的一个或一组应用,是镜像运行时的实体。 |
| Docker 客户端(Client) |
Docker 客户端通过命令行或者其他工具使用 Docker SDK (SDK | Docker Docs) 与 Docker 的守护进程通信。 |
| Docker 主机(Host) |
一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。 |
| Docker Registry |
Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。 Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。 一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。 通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。 |
| Docker Machine |
Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。 |
Ubuntu Docker 安装
Docker Engine-Community 支持以下的 Ubuntu 版本:
- Xenial 16.04 (LTS)
- 仿生 18.04 (LTS)
- 宇宙 18.10
- 迪斯科 19.04
- 其他更新的版本……
Docker Engine - Community 支持上 x86_64(或 amd64)armhf,arm64,s390x (IBM Z),和 ppc64le(IBM的Power)架构。
使用官方安装脚本自动安装
安装命令如下:
<span style="background-color:#ecf4ee"><span style="color:#333333"><span style="color:#171c19"> curl </span><span style="color:#171c19">-</span><span style="color:#171c19">fsSL https</span><span style="color:#171c19">:</span><span style="color:#78877d">//test.docker.com -o test-docker.sh</span><span style="color:#171c19">
sudo sh test</span><span style="color:#171c19">-</span><span style="color:#171c19">docker</span><span style="color:#171c19">.</span><span style="color:#171c19">sh</span></span></span>
手动安装
卸载旧版本
Docker 的旧版本被称为 docker,docker.io 或 docker-engine 。如果已安装,请卸载它们:
<span style="background-color:#ecf4ee"><span style="color:#333333"><span style="color:#171c19">$ sudo apt</span><span style="color:#171c19">-</span><span style="color:#55859b">get</span><span style="color:#171c19"> remove docker docker</span><span style="color:#171c19">-</span><span style="color:#171c19">engine docker</span><span style="color:#171c19">.</span><span style="color:#171c19">io containerd runc</span></span></span>
当前称为 Docker Engine-Community 软件包 docker-ce 。
安装 Docker Engine-Community,以下介绍两种方式。
使用 Docker 仓库进行安装
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker 。
设置仓库
更新 apt 包索引。
<span style="background-color:#ecf4ee"><span style="color:#333333"><span style="color:#171c19">$ sudo apt</span><span style="color:#171c19">-</span><span style="color:#55859b">get</span><span style="color:#171c19"> update</span></span></span>
安装 apt 依赖包,用于通过HTTPS来获取仓库:
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
添加 Docker 的官方 GPG 密钥:
<span style="background-color:#ecf4ee"><span style="color:#333333"><span style="color:#171c19">$ curl </span><span style="color:#171c19">-</span><span style="color:#171c19">fsSL https</span><span style="color:#171c19">:</span><span style="color:#78877d">//mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -</span></span></span>
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的密钥。
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker 版本 (CE deb) <docker@docker.com>
sub rsa4096 2017-02-22 [S]
使用以下指令设置稳定版仓库
“deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
$(lsb_release -cs) \<

最低0.47元/天 解锁文章
474

被折叠的 条评论
为什么被折叠?



