我們有一個MySQL作爲數據庫的Rails應用程序。的docker-compose.yml
的db
部分看起來像docker-compose:每次重新初始化MySQL db
db:
image: mysql
env_file:
- ma.env
volumes:
- ./dump-db:/docker-entrypoint-initdb.d
- ./my.cnf:/etc/mysql/my.cnf
restart: always
ports:
- "3306:3306"
environment:
- MYSQL_HOST=
和./dump-db
文件夾下存在實際上是我們的數據庫的SQL轉儲。
問題是,我們需要每次運行docker-compose up
時都有精確的轉儲。 MySQL泊塢窗圖像以這種方式工作,即將數據存儲在主機上,因此您的數據庫服務不是無狀態的。
我們需要的是db
服務丟棄docker-compose up
以前的運行中完成所有變更新鮮開始,準確的轉儲。
請從MySQL官方得出自己的飯盒。或者滾動你自己的自定義mysql。或者讓你的rails應用程序引導mysql。或者創建一個只引導你的mysql的新容器。或使用鐵軌種子。或... – user2105103
我認爲這是寫。自定義圖像以做你想做的事(不要爲數據存儲使用卷)。 – dnephin