2017-06-05 13 views
4

私はコマンドsudo docker stack deploy -c docker-compose.yml testdocker-compose 3でdocker deployを使用するには?

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コード:画像参照が

を提供しなければならない。しかし、私はイメージを作成しますこのコンテナの

+0

もっと詳しい答えは 'docker-compose.yml'を含めてください。 – BMitch

答えて

9

あなたのcompose.ymlファイルには、docker stack deployが必要とする画像セクションはありません。ドッカーがレジストリ内のイメージのsha256にピン配置を使用して、すべてのノードが同じイメージを実行しているので、それらをswarmに配置する場合は、これらのイメージをレジストリサーバにプッシュする必要があります。そして、swarmはイメージを構築しないので、ローカルに含まれているイメージのないノードは、レジストリから取得されない限り、このイメージを実行することができません。

+0

ドッカーにサインアップします。次に、私は '' 'docker login'''コマンドを使ってドッカーアカウントにログインし、' '' sudo docker push test '' 'もう一度エラーが拒否されました:リソースへのリクエストされたアクセスが拒否されました –

+0

ドッカーハブにプッシュするには、あなたのイメージはあなたのログインIDに接頭辞 'Login_id/image_name'で名前が付けられます。 'docker tag test:latest login_id/image_name:latest'を使って既存のイメージを再タグ付けすることができます。 – BMitch

+0

それは働いているようです。今私はコマンドを使用することができますドックをスタックドックを展開する - Cドッカー - compose.yml login_id/image_nameの展開? –

関連する問題