docker-compose up -d したらno basic auth credentialsと出てイメージをpullできなくなった

AWS ECRにイメージをpushしておいて、それを使う時。
久しぶりに使おうと思って

docker-compose up -d

したらタイトルのような現象
もちろん

eval (aws ecr get-login --no-include-email --region ap-northeast-1)

は実行しているのだけど(fishなので eval)

で、結論としては
~/.docker/config.json を変更。

{
    "auths": {
        "XXXXXXXXXXXX.dkr.ecr.ap-northeast-1.amazonaws.com": {}
    },
    "credsStore": "osxkeychain"
}

こんな感じのを

{
    "auths": {},
    "credsStore": "osxkeychain"
}

に変更したら無事にpull出来た。

参考にしたページ
https://www.bountysource.com/issues/50077954-no-basic-auth-credentials-when-using-docker-compose-build

ただの今日のメモ

Ganache

ローカルで動作するEthereumプライベートブロックチェーン。 公式サイトからインストーラーがダウンロード出来る

Truffle

なんかEthereum開発で便利なフレームワーク 初期化(必要なファイルとか作ってくれる)

truffle init

コンパイル

truffle compile

デプロイ

truffle migrate

truffle-config.js にデプロイするネットワークの情報が書いてある。

ターミナルでセッションマネージャーを使ってインスタンスに接続する

セッションマネージャー、sshの鍵など考えなくていいので楽ですね。
ターミナルから使うことで使い勝手も良くなるのでかなり好み。

aws ssm start-session --target <インスタンスID>

これで普段使っているiTerm2などから接続出来ます。
プロファイル指定も出来るので複数アカウント使っていても問題ないですね。

aws ssm start-session --target <インスタンスID> --profile <プロファイル名>

PHPで開発する時の開発環境作成に良さそう?

phpdocker.io PHPDocker.ioなるジェネレーター
docker-compose.ymlとそれに必要なDockerfileとかを作ってくれる。
Webブラウザからポチポチと入れてGenerateするとzipが落ちてくる。
まだファイル生成しただけなので、実際に生成されたもので試してみる。