Open kokoichi206 opened 9 months ago
aws cli にプラグインが必要らしい。
brew install aws/tap/lightsailctl
$ docker build -t sns-app-backend --no-cache .
$ aws lightsail push-container-image --region ap-northeast-1 --service-name Amazon_Linux_2-1 --service-name container-service-1 --label testlabel --image sns-app-backend:ee0e066df842
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Command '['lightsailctl', '--plugin', '--input-stdin']' returned non-zero exit status 1.
docker の host が間違ってそう。
$ docker context ls
NAME TYPE DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default moby Current DOCKER_HOST based configuration unix:///var/run/docker.sock
desktop-linux * moby Docker Desktop unix:///Users/kokoichi/.docker/run/docker.sock
docker desktop が悪い? dind とかで置き換える?いや、その後の aws への push がめんどくさそう。
lightsail の cli 側で docker の参照を固定値で持ってるとか?
aws-cli や lightsailctl には関連 issue はなさそう。
pushContainer の中で DockerEngine を作成している。 ここの client.Fromenv とはこれのことで、DOCKER_API_VERSION や DOCKER_HOST が設定できそう。 https://github.com/moby/moby/blob/86b86412a1b7df7dcecc81aa6ba795ff6b0c3ce3/client/options.go#L20-L45
これをシェル変数に設定してあげたらいけた。
$ DOCKER_HOST=unix:///Users/kokoichi/.docker/run/docker.sock aws lightsail push-container-image --region ap-northeast-1 --service-name Amazon_Linux_2-1 --service-name container-service-1 --label testlabel --image sns-app-backend:ee0e066df842
8968b52d5591: Pushed
a83c9b56bbe0: Pushed
77192cf194dd: Pushed
Digest: sha256:9136b6f88b47379a32a8388a742e41b5d0c26a7f8c3add7ff47653d48cb77a88
Image "sns-app-backend:ee0e066df842" registered.
Refer to this image as ":container-service-1.testlabel.1" in deployments.
lightsail 内の db が初期で設定するパスワードが 4eaGqt&J[2cj?UaG7sZ9~tK:7Rg^dNB*
だった(変更済み)。
migration のスクリプトで
POSTGRESQL_URL="postgres://postgres:postgres@localhost:5588/sns-db?sslmode=disable"
のように指定しているが、ここに上記 password を入力すると
などのデラーが出て失敗した。
urlencode することでパースでのエラーは出なくなったが、password authentication に失敗したままだった。
深ぼってみたい気もするが、lightsail 上でパスワード変更が変更できそうだったため一旦そちらで対応する。
db の create は10分くらいかかるので辛抱強く待つ!
container の deploy も3分くらいかかる。
https://github.com/kokoichi206/cloud-prac/tree/main/terraform_prac/lightsail