Open3

dockerで色々していた時に出たエラー

chimugichimugi

環境: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をしてみると、正常に実行できた。
https://serverfault.com/questions/1130018/how-to-fix-error-internal-load-metadata-for-docker-io-error-while-using-dock
https://github.com/docker/buildx/issues/476#issuecomment-804733405

しかし、config.jsonのcredsStoreの指定は正しいようにも見える。。。
もしかすると私の環境では「Docker CLIのインストール」→「運用」→「Docker Desktopのインストール」という順で運用していたので、その影響が出ているのかもしれない。

パソコンをシャットダウンして再度docker image buildすると、再度できなくなったりするので、自分の環境が悪さしているのような気もする。
要観察する必要がある。
また、credsStoreについては別途時間を設けて勉強してみたい。
https://qiita.com/kahirokunn/items/fc58efa4620dc69c00df

chimugichimugi

環境: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の指定を消すとうまくいく。
う〜〜ん、色々調べてみたけどよくわからない。。。