プライベートなコンテナイメージを Amazon Lightsailで使う
前提
・ローカルにプライベートなDockerイメージが作成済であること ・AWS CLIがインストールされていること ・lightsailctl プラグインがインストールされていること
手順
IAMを作成する
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "lightsail:CreateContainerServiceRegistryLogin", "lightsail:RegisterContainerImage" ], "Resource": "*" } ] }
AWSコンソールからLigthsailのコンテナを作成する
プライベートなコンテナイメージを動作させるためのコンテナを事前に作成しておく必要がある ここではあらかじめ用意されているサンプル(helloworld)イメージで作成
ローカルPCからプライベートなコンテナイメージをプッシュ
例) aws lightsail push-container-image --region <Region> --service-name <ContainerServiceName> --label <ContainerImageLabel> --image <LocalContainerImageName>:<ImageTag>
C:\>aws lightsail push-container-image --region ap-northeast-1 --service-name container-service-1 --label testlabel --image vue-lightsail-sample:latest WARNING: You are using version 1.0.0 of lightsailctl, but version is available. To download, visit https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-install-software [1B91e2ecca: Preparing [1B05b757d2: Preparing [1B697b6f38: Preparing [1Bd149735d: Preparing [1B3049c5e5: Preparing [1B846bc438: Preparing [1B8b32331d: Preparing [1B00332834: Preparing [1Bfd1e3667: Preparing [1B157cbca7: Preparing [7BDigest: sha256:12888b3911787a225d01127a4faa83c50d6d9e2e1eda8256c0c900a6851ccf52B/216.4MB Image "vue-lightsail-sample:latest" registered. Refer to this image as ":container-service-1.testlabel.1" in deployments.
プッシュに成功すると、Lightsail コンソールのImagesタブにプッシュしたイメージが表示される
デプロイ
Lightsail コンソールのDeploymentsタブからModify your deploymentをクリックし、Choose stored imageからプッシュしたイメージを選択
※コンテナで動作するアプリケーションのポートに合わせてポートを指定しないとエラーが発生した
参考
プライベートなコンテナイメージを Amazon Lightsail コンテナサービスで使う | DevelopersIO
Docker for Windows で作成したコンテナは、プライベートなので Amazon Lightsail コンテナにデプロイできないから、対応した記録 - Qiita