経緯
- MySQLに日本語入力ができないため、Dockerfileを書き換えて再ビルドしようとした
- Unable to locate package php8.1-cli となり、MySQLを日本語化するための行を削除しても治らない。
- それからDockerのキャッシュ削除、イメージ削除、アンインストールを試しても治らず、環境構築をgit cloneからやり直す。
- それでもエラーが解決せず、sailのissueを発見(https://github.com/laravel/sail/issues/)
書いてあることを実行して解決 - リンク内に「vendorディレクトリ内のファイルは絶対に編集しないでください。」と記載されていたため、↓の手順を実行し、解決済み
手順
# docker/{ubuntuVer}/Dockerfileを現在のディレクトリに作成
# docker-compose.ymlの context: /vendor/laravel/sail/runtimes/8.0/Dockerfile を context: ./docker/8.0に変更する
php artisan sail:publish
docker-compose.yml
- context: ./docker/8.0
+ context: ./docker/8.1
docker/8.1/Dockerfile
- FROM ubuntu:21.04
+ FROM ubuntu:21.10
docker/8.1/Dockerfile
- && echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu hirsute main" > /etc/apt/sources.list.d/ppa_ondrej_php.list \
+ && echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu impish main" > /etc/apt/sources.list.d/ppa_ondrej_php.list \
.env
+ WWWGROUP=1000
+ WWWUSER=1000
docker-compose build --no-cache