概要
MacOS 上に docker-compose をインストールして Vagrant 上に docker swarm 環境を構築してみました
環境
- macOS 10.15.7
- docker-machine 0.16.2
インストール
brew install docker-machine
マスタノード構築
docker-machine create master
作成できたマスタノードの IP は 192.168.99.109
とします
init とトークンの取得
docker-machine ssh master
docker swarm init --advertise-addr 192.168.99.109
これでノードを join させるためのコマンドが取得できるのでメモしておきます
ワーカノード構築
docker-machine create node1
join
docker-machine ssh node1
docker swarm join --token SWMTKN-1-3xj5zbof09ut20zpbtzrja6jls9hk35f2vz9yq46yal9b098ed-1jmee8ltbsacdghmjxc4esx7e 192.168.99.109:2377
動作確認
docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
master - virtualbox Running tcp://192.168.99.109:2376 v19.03.12
node1 - virtualbox Running tcp://192.168.99.110:2376 v19.03.12
eval "$(docker-machine env master)"
docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
r5u75mh9bt2krfnvodr4m4kxp * master Ready Active Leader 19.03.12
wgpe9ktvo7dcd6tcbqha56hyn node1 Ready Active 19.03.12
おまけ: 環境変数のリセット
eval "$(docker-machine env -u)"
トラブルシューティング
docker run swarm create
でトークンを生成しようとすると以下のエラーになり取得できません
なので今回は docker-machine ssh を使ってトークンを取得しています
2020/12/03 02:50:12 Post https://discovery.hub.docker.com/v1/clusters: dial tcp: lookup discovery.hub.docker.com on 10.0.2.3:53: no such host
最後に
docker-machine を使った場合でもちゃんと init -> join の流れで構築しましょう
0 件のコメント:
コメントを投稿