Docker Swarm
注意
这是一个实验性功能。
在 Coolify 中设置
如果您想使用 Swarm 部署资源,您需要将 Swarm 管理器 添加到 Coolify。
可选地,您可以将 Swarm 工作节点 添加到 Coolify。这将允许 Coolify 在 Swarm 工作节点 上执行清理和其他操作。
Docker 镜像仓库
使用 Swarm 时,您需要有一个外部 Docker 镜像仓库,因为所有工作节点都需要能够拉取您通过 Coolify 构建的镜像。
- Swarm 管理器需要将镜像推送到 Docker 镜像仓库。
- Swarm 工作节点需要从 Docker 镜像仓库拉取镜像。
因此,请相应地设置您的 Docker 登录凭证。更多信息此处。
安装 Swarm 集群
正在进行中 这只是安装简单 Docker Swarm 集群的简要指南。如需更多信息,请参考官方文档。
前提条件
- 本指南将使用 Hetzner(推荐链接)。您也可以使用其他提供商。
- 创建 Docker Swarm 集群至少需要 3 台具有相同架构(ARM 或 AMD64)的服务器。
- 1 台服务器作为管理节点。
- 2 台服务器作为工作节点(您可以根据需要添加更多工作节点)。
- 如有可能,为所有服务器添加私有网络。
安装 Docker
在所有服务器上安装 Docker。您可以按照官方文档操作,或者:
- 使用 Rancher 脚本安装
bash
curl https://releases.rancher.com/install-docker/24.0.sh | sh- 使用 Docker 脚本安装
bash
curl https://get.docker.com | sh -s -- --version 24.0您只需使用上述命令中的一个即可。
配置 Docker
在所有服务器上,运行以下命令启动 Docker。
bash
systemctl start docker
systemctl enable docker注意
Hetzner 特定配置。Hetzner 服务器使用 MTU 为 1450。您需要配置 Docker 使用相同的 MTU。
在管理节点上,运行以下命令配置 Docker。
bash
mkdir -p /etc/docker
cat <<EOF > /etc/docker/daemon.json
{
"default-network-opts": {
"overlay": {
"com.docker.network.driver.mtu": "1450"
}
}
}
EOF
systemctl restart docker创建 Swarm 集群
在管理节点上,运行以下命令创建新集群。
bash
# MANAGER_IP = 管理节点的 IP。如果您有私有网络,请使用私有 IP,如 10.0.0.x。
docker swarm init --advertise-addr <MANAGER_IP>此命令将输出一个在工作节点上加入集群的命令。
它应该类似于以下内容:
bash
# 不要运行此命令,这只是一个示例!
docker swarm join --token SWMTKN-1-24zvxeydjarchy7z68mdawichvf684qvf8zalx3rmwfgi6pzm3-4ftqn9n8v98kx3phfqjimtkzx 10.0.0.2:2377验证集群
在管理节点上运行以下命令验证集群。
bash
docker node ls您应该会看到类似以下内容:
bash
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
ua38ijktbid70em257ymxufif * swarm-manager Ready Active Leader 24.0.2
7rss9rvaqpe9fddt5ol1xucmu swarm-worker Ready Active 24.0.2
12239rvaqp43gddtgfsdxucm2 swarm-worker Ready Active 24.0.2使用持久存储部署
要能够使用持久存储部署服务,您需要在swarm-worker上有共享卷。这样 Swarm 服务就可以在swarm-worker之间移动资源。
您始终可以使用 AWS EFS、NFS、GlusterFS 等服务。
正在进行中
