个人向Docker Swarm使用笔记

May 23, 2021

Docker Swarm

相比于k8s这种重量级的集群方案,k3s足够轻量,非常适合个人,但是在我这里,我有着数个IPv6 only的服务器,k3s目前不能完美支持IPv6的worker节点加入集群,这使我关注到了Docker重新推出的Swarm模式

Create a Manager

# 此处也可以使用网卡名称?未测试
docker swarm init --advertise-addr <MANAGER-IP>

Join as a worker

docker swarm join \
  --token <MANAGER-NODE-DELIVERED-TOKEN> \
  <MANAGER-IP>:2377

如果丢失了这个token,也可以通过docker swarm join-token manager重新显示。

Group workers by label

可以通过创建label来对worker进行分类:相关Issues

docker node update --label-add test swarm-test-04

如果添加成功,通过以下命令即可通过label筛选列出相关worker

docker node ls --filter node.label=test

开放端口

对于一般的IPv4机器我们可以直接使用类似8080:8080的方式打开,但是如果是IPv6 Only,打开端口需要将配置改为:

- target: 8080
  published: 8080
  protocol: tcp
  mode: host

Copyright © Arcto 2022, Built with Gatsby