やりたいこと
docker-composeでrailsのアプリを作る。DBにmysqlを使用する。
エラー
RSA Encryption not supported - caching_sha2_password plugin was built with GnuTLS support
正しいdocker-compose.yml
version: "3.9"
services:
db:
platform: linux/x86_64 # for M1Mac
image: mysql:8.0
volumes:
- mysql-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: password
command: --default_authentication_plugin=mysql_native_password
web:
build: .
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
stdin_open: true # for biding.pry
tty: true # for biding.pry
volumes:
- .:/app
ports:
- "3000:3000"
depends_on:
- db
volumes:
mysql-data:
driver: local
command: --default_authentication_plugin=mysql_native_password
を指定する事がポイント
それでもエラー
docker-compose.ymlが正しいはずなのに同じエラーが出た。
解決策
docker volume rm app_mysql-data
volumeで永続化したデータベースがdocker-compose buildでは更新されない!volumeを削除してからbuildすればOK.
Comments