環境変数内に格納された、新しく生成されたトークンを使用して、docker-machineswarmクラスターを作成しました。環境変数は現在のセッションでのみ有効であり、後で削除されます。同じクラスターに新しいDockerマシンを追加したいのですが、必要なトークンが見つかりません。
アクティブなDockerスウォームで使用されているトークンを見つけるにはどうすればよいですか?
私は他の答えに運がなかったので、後世のために答えます。
Docker17.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/
この記事では、これを実現する方法について説明します。
実行:docker inspect $SWARM_AGENT_MASTER
どこ $SWARM_AGENT_MASTER
はコンテナの名前です。
次のように、マネージャーに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"`