EC2からECRにイメージをプッシュする方法
1. EC2構築
・パブリックサブネットに構築
・パブリックIPの自動割り当てを有効化
・基本デフォルト
2. IAMロール作成
・AmazonEC2ContainerRegistryFullAccessポリシーをロールに追加
・EC2にアタッチ
3. EC2にDockerをインストール
・EC2 Instance Connect を使用して接続する
・以下のコマンドを実行
yumコマンド更新
sudo yum update -y
dockerインストール
sudo yum install -y docker
docker起動
sudo systemctl start docker
docker自動起動設定
sudo systemctl enable docker
ec2-user を docker グループに追加
sudo usermod -aG docker ec2-user
一度EC2の接続を終了して、再接続後グループが適用されたか確認
groups
4. ECRリポジトリの作成
・リポジトリ名は適当な名前を設定
今回は「nginx-private」を設定
5. Dockerfileの作成
Dockerfileを作成
vi Dockerfile
# 公式の Nginx イメージを使用
FROM nginx:latest
# カスタム HTML を追加
COPY index.html /usr/share/nginx/html/
# ポート 80 を開放
EXPOSE 80
index.htmlを作成
echo "<h1>Hello, ECR</h1>" > index.html