#はじめに
今回はECRにプッシュしようとしたら、つまずいた。を記載しようと思います。
なぜECRを使用しようとしたかというと、最近話題のAWS AppRunnnerを利用するために使用しました。
#ECRとは
まず、ECRについて解説をしていきます。
ECRとは、フルマネージド型のレジストリサービスです。
##メリット
Dockerコンテナイメージを簡単に保存、管理、共有、デプロイが可能
自前のコンテナリポジトリの運用や基盤となるインフラストラクチャのスケーリングの検討は不要
イメージをコンテナアプリケーションに確実にデプロイすることが可能
コンテナソフトウェアは、組織内でプライベート共有や世界中で公に共有して、ダウンロード可能
EKS、ECS、Lambdaと連携し開発から本稼働までのワークフローを簡素化できる。
#ECSとの違い
ECRは、Imageを保存する場所
ECSは、コンテナのシステム管理
ECRにあるImageをECSで使用する。
#ECRのプッシュでつまずいたこと。
今回の本題のつまずいたことを記載します。
前提条件として__Windows10__で実行しています。
__Linux__を用いて、プッシュを行いました。
方法としてはECRに書いてあるプッシュコマンドをそのまま実行しました。
その際にエラーが出ました。
The command ‘docker’ could not be found in this WSL 1 distro. We recommend to convert this distro to WSL 2 and activate the WSL integration in Docker Desktop setting
簡単に言うとWSLをWSL2に変更してくださいということです。
#やったこと
WSLをWSL2に変更した。
##変更方法
###WSLの環境確認
まず自分のWSL環境がどうなっているのか確認しました。
コマンドDefault
wsl --list --verbose
すると
このように現在のVERSIONを確認することができます。
これは直した後になっているので、Version2になっています。
###WSL2に変更
PowerShellの管理者権限で実行します。
WSLのデフォルトバージョンを2に変更するコマンド
PowerShellコマンドDefault
wsl --set-default-version 2
続けて自分が選択したものをVersion2に変更するコマンド
PowerShellコマンドDefault
wsl --set-version Ubuntu 2
今回、私は「Ubuntu」をVersion2にしたかったので、このようなコマンドになりました。
これで、WSL2に変更ができました。
#おわりに
ECRについてあまり知らなかったので、良い経験になりました。
ECRは、プッシュも簡単で、とても扱いやすいと思います。
エラーで戸惑った部分はありますが、ECRで上記のようなエラーに遭遇した場合は試してみてください。
またAppRunnnerのハンズオンにトライしてみてください。