docker swarm 令牌存储在哪里?

Where is the docker swarm token stored?

我使用新生成的令牌创建了一个 docker-machine swarm 集群,该令牌存储在环境变量中。该环境变量仅对当前会话有效,之后将被删除。 现在我想添加一个新的 docker-machine 到同一个集群,但是我找不到需要的令牌。

如何找出活动 docker 群使用的令牌?

本文解释了如何实现:

Getting the Docker Swarm Discovery Token

执行:docker inspect $SWARM_AGENT_MASTER 其中 $SWARM_AGENT_MASTER 是容器的名称。

为后代回答,因为我没有幸运地得到另一个答案。

运行 Docker 17.05。 Docker 现在可以列出工作人员和经理的加入令牌。

$ docker swarm join-token manager

To add a manager to this swarm, run the following command:

docker swarm join \
--token SWMTKN-1-13z9uafwgjdkfv3ik18ttceqgtogdqr4xurhc6vaybeckx7i7u-2lnnyzeqb93ejgjrdlivsg7rf \
10.0.0.18:2377



$ docker swarm join-token worker
To add a worker to this swarm, run the following command:

docker swarm join \
--token SWMTKN-1-13z9uafwgjdkfv3ik18ttceqgtogdqr4xurhc6vaybeckx7i7u-b3a28we1he23rxwk2rea933y4 \
10.0.0.18:2377

更多信息: https://docs.docker.com/engine/reference/commandline/swarm_join-token/

只需 ssh 进入管理器并获取令牌,如下所示。

# get manager and worker tokens
 export MANAGER_TOKEN=`docker-machine ssh $SWARM_AGENT_MASTER "docker swarm join-token manager -q"`
 export WORKER_TOKEN=`docker-machine ssh $SWARM_AGENT_MASTER "docker swarm join-token worker -q"`