コマンドを作成するとSudo docker stack deploy -c docker-compose.yml test
Ignoring unsupported options: build, external_links, links, restart
Updating service test_cache (id: me2vh1lffrl4ppzomphin167la)
Updating service test_lb (id: ycnne1ifpt517wdbfdg1g5tlup)
Updating service test_media (id: rr3ural9hjz0mw6hjx7n2vywm)
Creating service test_web
Error response from daemon: rpc error: code = 3 desc = ContainerSpec: image reference must be provided
そして、私はこのエラーを受け取ります-デーモンからのエラー応答:rpcエラー:コード= 3 desc = ContainerSpec:画像参照を提供する必要があります
しかし、私はこのコンテナのイメージを作成します。
あなたのcompose.ymlファイルには、docker stack deploy
が必要とする画像セクションが含まれていません。 dockerはレジストリ内のイメージのsha256へのピン留めを使用してすべてのノードが同じイメージを実行するようにするため、これらのイメージをスウォームにデプロイする場合は、これらのイメージをレジストリサーバーにプッシュする必要もあります。また、swarmはイメージを構築しないため、ローカルにイメージが含まれていないノードは、レジストリからプルされない限り、このイメージを実行できません。
これは遅いですが、docker-compose.yml
ファイルに次のようなコメントがあると、このエラーが発生したと言いたいです。
version: "3"
services:
web:
# pull the image from repository
image: myname/docker-private:testproj
...
ただし、コメントは行の最初の文字から開始する必要があります。
version: "3"
services:
web:
# pull the image from repository
image: myname/docker-private:testproj
...
これで問題が修正されました。