状況:
2 つのエージェントを持つ docker swarm があります。docker swarm メイン デーモンは、私のマネージャー ホスト (docker-machine サンプル セットアップ) で--strategy random
オプション付きで実行されます。
手順:
docker swarm manager 接続を使用して新しい docker イメージをビルドします
docker -H tcp://$(docker-machine ip manager):3376 build -t test123 .
マネージャー接続を使用して複数のコンテナーを起動します
docker -H tcp://$(docker-machine ip manager):3376 run -d test123 sleep 20 docker -H tcp://$(docker-machine ip manager):3376 run -d test123 sleep 20 docker -H tcp://$(docker-machine ip manager):3376 run -d test123 sleep 20 docker -H tcp://$(docker-machine ip manager):3376 run -d test123 sleep 20
Docker コンテナーは、イメージのビルドにも使用されたホスト上で常に実行されます。
ビルド イメージを他のホストに自動的に配布する方法はありますか?
Dockerレジストリを使用してイメージをプッシュアンドプルするだけでよいことは知っていますが、これは避けたいです。
私が見つけた別の解決策は、画像を tgz に保存してインポートすることでした。docker-swarm ホスト (マネージャー) でインポートすると、イメージがすべてのエージェントに自動的に配布されます。(少なくともこれは私が観察したものでした)
おそらく別のオプションがありますか?