dockerで色々していた時に出たエラー
環境:Macbook M3
Dockerfileでubuntu:20.04
をベースイメージに指定してdocker image build
を実行すると以下のようなエラーになった。
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 557B 0.0s
=> ERROR [internal] load metadata for docker.io/library/ubuntu:20.04 0.5s
調べてみると~/.docker/config.json
の"credsStore": "desktop"
を"credsStore": ""
にすると良いらしい。
実際に消してみて再度docker image build
をしてみると、正常に実行できた。
しかし、config.jsonのcredsStoreの指定は正しいようにも見える。。。
もしかすると私の環境では「Docker CLIのインストール」→「運用」→「Docker Desktopのインストール」という順で運用していたので、その影響が出ているのかもしれない。
パソコンをシャットダウンして再度docker image build
すると、再度できなくなったりするので、自分の環境が悪さしているのような気もする。
要観察する必要がある。
また、credsStoreについては別途時間を設けて勉強してみたい。
環境:Macbook M3
Dockerfile
FROM --platform=linux/amd64 mysql:5.7
COPY ./docker/db/my.cnf /etc/mysql/my.cnf
docker container run \
--name db \
--rm \
--platform linux/amd64 \
--env MYSQL_ROOT_PASSWORD=rootpassword \
--env MYSQL_USER=hoge \
--env MYSQL_PASSWORD=password \
--env MYSQL_DATABASE=event \
docker-practice:db
このまま実行するとUnable to find image 'docker-practice:db' locally
というエラーになってしまう。
docker-practive:dbのimageが存在することは確認済み。
しかし、なぜだかdocker container runのplatform linux/amd64の指定を消すとうまくいく。
う〜〜ん、色々調べてみたけどよくわからない。。。
credsStoreが勝手に更新されてしまう問題
macでも同じような問題が起きる場合があるらしい。
書き換えたのちに~/.docker/config.json
の書き込み拒否設定にすれば良い...らしい。
う〜ん、、、なんか釈然としない。