AWS ECSでDockerレジストリサーバを作る

1. Dockerを使えるJenkinsサーバをEC2で作る

  • セキュリティグループを8080と22のポートを許可して作る
  • 上のセキュリティグループで、LinuxのEC2インスタンスを作成する
  • JavaとJenkinsをパッケージでインストールする
  • Jekinsをセットアップする
  • 参考 ミドルウェア/Jenkins/Docker連携してインストール

2. ECRにアクセスできるIAMロールを作る

  • AWSコンソールのIAM画面で、AmazonEC2ContainerRegistryPowerUserポリシーのロールを作る
  • EC2画面でJenkinsサーバのインスタンスに上のロールをアタッチする

3. JenkinsにECRにアクセスするジョブを作る

 docker run hello-world
 aws ecr get-login --no-include-email --region ap-northeast-1 > ./login                      # (1)
 source ./login                                                                              # (2)
 docker tag hello-world:latest AWS_ACCOUNT_ID.ap-northeast.amazonaws.com/hello-world:latest  # (3)
 docker push AWS_ACCOUNT_ID.ap-northeast.amazonaws.com/hello-world:latest                    # (4)
  • (1) docker login -u AWS -p password htps://aws_account_id.dkr.ecr.us-east-1.amazonaws.com のように出力がファイルにリダイレクトされ、
  • (2) そのdockerコマンドを実行して、ECRにログインする
  • (3)(4) ECRにイメージをプッシュする(なお、このコマンドはAWSコンソールのECR画面にある「プッシュコマンド」リンクを押すとサンプルとして解説されている

Amazon ECR CLI

https://docs.aws.amazon.com/ja_jp/AmazonECR/latest/userguide/ECR_AWSCLI.html

4. Jenkinsでビルド実行する

  • ビルド実行ボタンを押す
  • ビルド終了後、コンソール出力を確認して、ログインやプッシュが成功していることを確認する

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2019-02-15 (金) 07:03:49