File tree Expand file tree Collapse file tree 5 files changed +6
-3
lines changed
Expand file tree Collapse file tree 5 files changed +6
-3
lines changed Original file line number Diff line number Diff line change @@ -42,7 +42,7 @@ $ brew install --cask docker
4242
4343``` bash
4444$ docker --version
45- Docker version 29 .1.4 , build 048e46e
45+ Docker version 26 .1.1 , build 4cf5afa
4646```
4747
4848如果 ` docker version ` 、` docker info ` 都正常的话,可以尝试运行一个 [ Nginx 服务器] ( https://hub.docker.com/_/nginx/ ) :
Original file line number Diff line number Diff line change 66
77** Docker** 使用 ` Google ` 公司推出的 [ Go 语言] ( https://golang.google.cn/ ) 进行开发实现,基于 ` Linux ` 内核的 [ cgroup] ( https://zh.wikipedia.org/wiki/Cgroups ) ,[ namespace] ( https://en.wikipedia.org/wiki/Linux_namespaces ) ,以及 [ OverlayFS] ( https://docs.docker.com/storage/storagedriver/overlayfs-driver/ ) 类的 [ Union FS] ( https://en.wikipedia.org/wiki/Union_mount ) 等技术,对进程进行封装隔离,属于 [ 操作系统层面的虚拟化技术] ( https://en.wikipedia.org/wiki/Operating-system-level_virtualization ) 。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。最初实现是基于 [ LXC] ( https://linuxcontainers.org/lxc/introduction/ ) ,从 ` 0.7 ` 版本以后开始去除 ` LXC ` ,转而使用自行开发的 [ libcontainer] ( https://github.com/docker/libcontainer ) ,从 ` 1.11 ` 版本开始,则进一步演进为使用 [ runC] ( https://github.com/opencontainers/runc ) 和 [ containerd] ( https://github.com/containerd/containerd ) 。
88
9- ![ Docker 架构] ( https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/media /docker-on-linux.png)
9+ ![ Docker 架构] ( ./_images /docker-on-linux.png)
1010
1111> ` runc ` 是一个 Linux 命令行工具,用于根据 [ OCI容器运行时规范] ( https://github.com/opencontainers/runtime-spec ) 创建和运行容器。
1212
Original file line number Diff line number Diff line change 66
77当创建一个 Docker 容器的时候,同时会创建了一对 ` veth pair ` 接口(当数据包发送到一个接口时,另外一个接口也可以收到相同的数据包)。这对接口一端在容器内,即 ` eth0 ` ;另一端在本地并被挂载到 ` docker0 ` 网桥,名称以 ` veth ` 开头(例如 ` vethAQI2QT ` )。通过这种方式,主机可以跟容器通信,容器之间也可以相互通信。Docker 就创建了在主机和所有容器之间一个虚拟共享网络。
88
9- ![ Docker 网络 ] ( ./_images/network.png )
9+
1010
1111## 用户自定义网络
1212
Original file line number Diff line number Diff line change 44
55 使用 ` Swarm ` 集群之前需要了解以下几个概念。
66
7+ > [ !NOTE]
8+ > 虽然 Swarm 是 Docker 引擎内置的集群管理工具,但在大规模生产环境中,Kubernetes 已经成为容器编排的事实标准。如果您主要是为了学习容器编排,建议重点关注 Kubernetes 章节。
9+
710## 节点
811
912运行 Docker 的主机可以主动初始化一个 ` Swarm ` 集群或者加入一个已存在的 ` Swarm ` 集群,这样这个运行 Docker 的主机就成为一个 ` Swarm ` 集群的节点 (` node ` ) 。
You can’t perform that action at this time.
0 commit comments