我的docker-compose腳本成功管理運行mysql/mariadb服務,並將包含數據庫模式的我的「init.sql」腳本複製到「/docker-entrypoint-initdb.d」 。但是,sql腳本永遠不會執行,因爲它應該是according to the docs。Docker-compose mysql:import .sql
沒有錯誤,沒有在日誌中。我檢查了sql文件被複制到容器中的正確位置。我檢查了腳本在空數據庫上沒有錯誤的情況下運行。
我錯過了什麼?如果腳本被執行(甚至出於某種原因,什麼也不做),它甚至可以在日誌中看到嗎?
(編輯:搬運工-撰寫版本:1.8.1,圖像MariaDB的:21年10月1日)
# docker-compose.yml
version: '2'
volumes:
data-volume: {}
services:
mysql:
image: mariadb
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: pwd
MYSQL_DATABASE: users_db
volumes:
- data-volume:/var/lib/mysql
- ./resources/docker-sql/init.sql:/docker-entrypoint-initdb.d/init.sql
backend:
image: myapp
ports:
- "8000:80"
depends_on:
- mysql
links:
- mysql
按照['搬運工-entrypoint.sh'](HTTPS的來源:/ /github.com/docker-library/mariadb/blob/b558f64b736650b94df9a90e68ff9e3bc03d4bdb/10.1/docker-entrypoint.sh)(該腳本應該執行你的'init.sql'),如果它被執行,日誌中應該有行(行154)。你可以添加docker logs的輸出嗎?此外,您的腳本只會在容器第一次啓動時執行(第76行)!你必須在嘗試之間刪除它。 – fzgregor
哦,我不得不刪除容器。謝謝! '碼頭組成停止','碼頭組成'rm','碼頭組成'。 – JulienD
您是否有人寫出正式答案? :) – Martin