创建 Machine - 每天5分钟玩转 Docker 容器技术(46)

简介: 对于 Docker Machine 来说,术语 Machine 就是运行 docker daemon 的主机。“创建 Machine” 指的就是在 host 上安装和部署 docker。先执行 docker-machine ls 查看一下当前的 machine: 如我们所料,当前还没有 machine,接下来我们创建第一个 machine: host1 - 192.168.56.104。

对于 Docker Machine 来说,术语 Machine 就是运行 docker daemon 的主机。“创建 Machine” 指的就是在 host 上安装和部署 docker。先执行 docker-machine ls 查看一下当前的 machine:

220.png

如我们所料,当前还没有 machine,接下来我们创建第一个 machine: host1 - 192.168.56.104。

创建 machine 要求能够无密码登录远程主机,所以需要先通过如下命令将 ssh key 拷贝到 192.168.56.104:

ssh-copy-id 192.168.56.104 

一切准备就绪,执行 docker-machine create 命令创建 host1:

docker-machine create --driver generic --generic-ip-address=192.168.56.104 host1

因为我们是往普通的 Linux 中部署 docker,所以使用 generic driver,其他 driver 可以参考文档 https://docs.docker.com/machine/drivers/。

--generic-ip-address 指定目标系统的 IP,并命名为 host1。命令执行过程如下:

① 通过 ssh 登录到远程主机。
② 安装 docker。
③ 拷贝证书。
④ 配置 docker daemon。
⑤ 启动 docker。

再次执行 docker-machine ls 

已经能看到 host1 了。 我们可以登录到 host1 查看 docker daemon 的具体配置 /etc/systemd/system/docker.service。

  1. -H tcp://0.0.0.0:2376 使 docker daemon 接受远程连接。

  2. --tls* 对远程连接启用安全认证和加密。

同时我们也看到 hostname 已经设置为 host1

使用同样的方法创建 host2:

docker-machine create --driver generic --generic-ip-address=192.168.56.105 host2

创建成功后 docker-machine ls 可以看到 host1 和 host2 都已经就绪:

当前当前环境

目录
相关文章
|
存储 Docker 容器
外部世界如何访问容器? - 每天5分钟玩转 Docker 容器技术(37)
上节我们学习了容器如何访问外部网络,今天讨论另一个方向:外部网络如何访问到容器? 答案是:端口映射。 docker 可将容器对外提供服务的端口映射到 host 的某个端口,外网通过该端口访问容器。
2659 0
|
网络协议 Docker 容器
容器间通信的三种方式 - 每天5分钟玩转 Docker 容器技术(35)
容器之间可通过 IP,Docker DNS Server 或 joined 容器三种方式通信。 IP 通信 从上一节的例子可以得出这样一个结论:两个容器要能通信,必须要有属于同一个网络的网卡。 满足这个条件后,容器就可以通过 IP 交互了。
1522 0
|
Kubernetes Cloud Native 安全
容器技术之发展简史
容器技术催生了云原生思潮,云原生生态推动了容器技术发展。整理容器技术近 20 年的发展历史,大致可以将其分为四个历史阶段。
20944 1
容器技术之发展简史
|
Ubuntu 测试技术 Docker
限制容器的 Block IO - 每天5分钟玩转 Docker 容器技术(29)
前面学习了如何限制容器对内存和CPU的使用,本节我们来看 Block IO。 Block IO 是另一种可以限制容器使用的资源。Block IO 指的是磁盘的读写,docker 可通过设置权重、限制 bps 和 iops 的方式控制容器读写磁盘的带宽,下面分别讨论。
1710 0
|
数据库 Docker 容器
准备 overlay 网络实验环境 - 每天5分钟玩转 Docker 容器技术(49)
为支持容器跨主机通信,Docker 提供了 overlay driver,使用户可以创建基于 VxLAN 的 overlay 网络。VxLAN 可将二层数据封装到 UDP 进行传输,VxLAN 提供与 VLAN 相同的以太网二层服务,但是拥有更强的扩展性和灵活性。
2066 0
|
Linux Docker 容器
跨主机网络概述 - 每天5分钟玩转 Docker 容器技术(48)
前面已经学习了 Docker 的几种网络方案:none、host、bridge 和 joined 容器,它们解决了单个 Docker Host 内容器通信的问题。本章的重点则是讨论跨主机容器间通信的方案。
2039 0
|
Shell 虚拟化 Docker
安装 Docker Machine - 每天5分钟玩转 Docker 容器技术(45)
前面我们的实验环境中只有一个 docker host,所有的容器都是运行在这一个 host 上的。但在真正的环境中会有多个 host,容器在这些 host 中启动、运行、停止和销毁,相关容器会通过网络相互通信,无论它们是否位于相同的 host。
1566 0
|
存储 Docker 容器
volume 生命周期管理 - 每天5分钟玩转 Docker 容器技术(44)
Data Volume 中存放的是重要的应用数据,如何管理 volume 对应用至关重要。前面我们主要关注的是 volume 的创建、共享和使用,本节将讨论如何备份、恢复、迁移和销毁 volume。 备份 因为 volume 实际上是 host 文件系统中的目录和文件,所以 volume 的备份实际上是对文件系统的备份。
1562 0
|
Docker 容器
data-packed volume container - 每天5分钟玩转 Docker 容器技术(43)
在上一节的例子中 volume container 的数据归根到底还是在 host 里,有没有办法将数据完全放到 volume container 中,同时又能与其他容器共享呢? 当然可以,通常我们称这种容器为 data-packed volume container。
1496 0
|
Docker 容器
用 volume container 共享数据 - 每天5分钟玩转 Docker 容器技术(42)
volume container 是专门为其他容器提供 volume 的容器。它提供的卷可以是 bind mount,也可以是 docker managed volume。下面我们创建一个 volume container: 我们将容器命名为 vc_data(vc 是 volume container 的缩写)。
1478 0