rebi:
私はドッカーを使用してMySQLを使用します。
私は、次のDockerFileとドッキングウィンドウ-compose.ymlを書きました。
Dockerfile
FROM mysql:8.0
RUN mkdir /var/log/mysql
RUN touch /var/log/mysql/mysqld.log
ドッカー-compose.yml
version: '3'
services:
dbserver:
build: ./docker/mysql
image: test-db:0.0.1
restart: always
environment:
MYSQL_DATABASE: prototype
MYSQL_USER: user
MYSQL_PASSWORD: password
MYSQL_ROOT_PASSWORD: rootpassword
ports:
- "3306:3306"
volumes:
- ./docker/mysql/initdb.d:/docker-entrypoint-initdb.d
- ./docker/mysql/conf.d:/etc/mysql/conf.d
- ./log/mysql:/var/log/mysql
- ./docker/mysql/data:/var/lib/mysql
volumes:
mysql-bd:
driver: local
私は、ビルドに成功し、データベースを確認することができました。
私はYMLファイルの以下の部分を編集したので、それから私は、データベース名を変更するようでした。
前
MYSQL_DATABASE: prototype
後に
MYSQL_DATABASE: test_db
その後、私は、データベースを確認したが、その名前は変更されませんでした。
私は、MySQLのコンテナを削除して、再度試してみましたが、結果は変更されませんでした。
なぜドッキングウィンドウ-compose.ymlの編集内容が反映されませんか?
マイケル:
あなたは、データベースが、容器の再起動の間で保持されていることを意味し、データベースのホストボリュームを使用しています。
...
volumes:
./docker/mysql/data:/var/lib/mysql
...
ローカルディレクトリを削除./docker/mysql/data
して、サービスを再起動します。データベースの変更が反映されます。