在 Docker 容器中使用架構初始化 MySQL 資料庫可能具有挑戰性。以下是解決此問題的解決方案:
1.轉儲MySQL 架構
使用下列指令將MySQL 架構轉儲到檔案:
mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
2.將架構檔案加入到Dockerfile
在 Dockerfile 中,使用 ADD 指令將架構檔案新增至 /docker-entrypoint-initdb.d 目錄。容器中的 docker-entrypoint.sh 腳本將針對資料庫執行此目錄中的任何 .sql 檔案。
範例 Dockerfile:
FROM mysql:5.7.15 MAINTAINER me ENV MYSQL_DATABASE=<schema_name> \ MYSQL_ROOT_PASSWORD=<password> ADD schema.sql /docker-entrypoint-initdb.d EXPOSE 3306
3.建置並執行 Docker 容器
修改 Dockerfile後,建置並執行容器:
docker-compose build docker-compose up
4.附加說明
依照以下步驟,您可以在Docker 容器內成功初始化具有schema 的MySQL 資料庫,並消除CMD無法正常執行的問題。
以上是如何在 Docker 容器內使用架構初始化 MySQL 資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!