[解決済み] docker イメージを amazon ecs リポジトリにプッシュする
質問
AWS初心者です。AWSのECSコンテナインスタンスにプライベートDockerリポジトリをセットアップしたいです。私は、リポジトリ名
name
. AWSが示す例のプッシュコマンドは動作しています。
aws ecr get-login --region us-west-2
docker build -t name .
docker tag name:latest ############.dkr.ecr.us-west-2.amazonaws.com/name:latest
docker push ############.dkr.ecr.us-west-2.amazonaws.com/name:latest
しかし、このコマンドで私は
name
という名前のイメージをビルドしてプッシュしています。
foo
. ということで、コマンドを変更しました。
docker build -t foo .
docker tag foo ###########.dkr.ecr.us-west-2.amazonaws.com/name/foo
docker push ###########.dkr.ecr.us-west-2.amazonaws.com/name/foo
これはうまくいくはずなのですが、うまくいきません。何回か再試行すると、エラーが発生します。
The push refers to a repository [###########.dkr.ecr.us-west-2.amazonaws.com/name/foo]
8cc63cf4528f: Retrying in 1 second
...
name unknown: The repository with name 'name/foo' does not exist in the registry with id '############'
AWSは本当にプッシュしたいイメージごとに専用のリポジトリが必要なのでしょうか?
どのように解決するのですか?
この EC2コンテナレジストリ を必要とします。 イメージレポジトリ を、レジストリに公開したい各画像の "名前" または "名前空間/名前" に対して設定する必要があります。
レジストリに公開する画像は
:tags
を公開することができます(デフォルトでは100個まで)。
AWSのドキュメントで、リポジトリ -> 画像名のマッピングについて具体的に書かれている箇所は見当たりませんが、暗黙の了解として、以下のように書かれています。 リポジトリの作成 - ECRユーザーガイドのセクション6d
このような場合 Docker Imageの仕様 には リポジトリ
リポジトリ
共通の接頭辞の下にグループ化されたタグのコレクション (名前コンポーネントの前にある
:
). 例えば、ある画像に名前my-app:3.1.4
とタグ付けされた画像では、my-appはその名前のリポジトリコンポーネントです。A リポジトリ名はスラッシュで区切られた名前コンポーネントで構成されます。 オプションで DNS ホスト名を前置詞に持つことができます。ホスト名は標準的な DNS 規則に従わなければなりません。 標準的な DNS 規則に従わなければなりませんが、ホスト名には_
文字を含むことはできません。ホスト名が存在する場合 が存在する場合、オプションでその後にポート番号の書式を指定することができます。:8080
. 名前の構成要素には、小文字、数字、およびセパレータを含めることができます。 セパレータを含むことができます。セパレータとは、ピリオド、1つまたは2つのアンダースコア、1つまたは複数のダッシュを指します。 アンダースコア、または1つ以上のダッシュと定義されます。名前コンポーネントは、セパレータで開始または終了することはできません。 セパレータで開始または終了することはできません。
関連
-
[解決済み] Cognitoのサインアップ時に電話番号の書式が無効である
-
[解決済み] AWSプライベートリンクとVPCエンドポイント
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] Docker Dockerコンテナからホストへのファイルコピー
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] リポジトリを使用せずに、あるホストから別のホストにDockerイメージをコピーする方法
-
[解決済み] ホストからDockerコンテナのIPアドレスを取得する方法
-
[解決済み] 古いDockerコンテナを削除する方法
-
[解決済み】Dockerは仮想マシンとどう違うの?
-
[解決済み] Dockerレジストリとリポジトリの違いについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】DynamoDB - キー要素がスキーマと一致しない
-
[解決済み】S3 Bucket アクションがどのリソースにも適用されない
-
[解決済み] Terraformです。EFSアクセスポイントをEC2にマウントするには?
-
[解決済み] クラウドフォーメーション Fn::JoinとFn:GetAttの併用
-
[解決済み] ネットワークインターフェイスが無効なAWS EC2インスタンスに接続しようとする
-
[解決済み] Amazon S3におけるHeadBucket操作とは
-
[解決済み] s3バケットから複数ファイルをコピーする
-
[解決済み] AWSの169.254.169.254IPアドレスは何が特別なのか?[クローズド]
-
[解決済み] AWS - Disconnected : サポートされている認証方法がありません (サーバーは :publickey を送信)
-
[解決済み] `aws s3 cp` vs `aws s3 sync` 動作とコスト [終了しました]。