我正在将我的 Docker 主机转换为 Docker Swarm 节点。在此之前,我总是以 [无 vSAN] vSphere 集群的方式运行 Docker 主机/容器,每个主机的存储尽可能少,而是将其集中起来。永远不要在桥接网络上运行任何东西,只使用专用地址或主机的网络,并避免使用 compose 文件,这样我就不必记住它们在哪里,也不必在主机发生故障时丢失它们。我保留一个包含所有详细docker run
s 命令的文件(以 docker ..stop X
&开头..rm X
以防止冲突)。文件的内容可以复制和粘贴或作为脚本运行,无论容器在哪里运行,都可以恢复。即使是麦克维兰斯被重新创建。
第二个脚本设置网络挂载,使路径相同,并设置 cron 作业以将证书(用于符号链接)与请求证书的中央服务器同步。基本上,它已经集群化,只是没有自动放置容器。我正在“正式集群化”以获得这种能力。我不需要动态工作负载平衡或任何更花哨的东西,只需能够在一个窗格中查看所有主机,因此 Swarm 是完美的,但我不确定如何正确转换我的“docker 运行”。
该docker service
命令是否可以替代docker run
?文档中的示例在细节上极其笼统,当涉及到群集模式时,整个事情非常模糊。
此外,我认为它具有的等效选项引入了歧义。例如,--volume
没有,但有--mount
。当我想到“卷”时,它是磁盘/阵列上的存储,它直接存储在管理它的系统中,当我想到或“安装”时……当然,它可以是本地的,但偏向于可移动存储,但实际上它是网络安装,这是我想到的。但是描述并没有澄清任何内容,或者它是否也是抽象的,或者根据需要从节点到存储或什么。对于也一样--network
,我可以选择我以前使用的现有网络之一macvlan
,还是可以即时创建新网络或需要创建?
谢谢!