使用架構初始化資料庫可能是一個複雜的過程,尤其是在使用 Docker 容器時。本文解決了使用 Docker 容器使用架構初始化 MySQL 資料庫時遇到的常見問題,並提供了基於將架構轉儲到檔案並將其新增至 /docker-entrypoint-initdb.d 目錄的解決方案。
嘗試使用 MySQL 資料庫建立 Docker 容器並使用以下架構初始化它時Dockerfile:
FROM mysql MAINTAINER (me) <email> # Copy the database schema to the /data directory COPY files/epcis_schema.sql /data/epcis_schema.sql # Change the working directory WORKDIR data CMD mysql -u $MYSQL_USER -p $MYSQL_PASSWORD $MYSQL_DATABASE < epcis_schema.sql
容器啟動失敗,CMD指令執行不成功。
要使用schema初始化資料庫,請依照下列步驟操作:
mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
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
docker-compose build docker-compose up
透過實例:
透過使用/docker -entrypoint-initdb.d 目錄中,容器初始化時將自動針對MySQL 資料庫執行SQL文件,確保資料庫使用所需的架構進行初始化。以上是如何在 Docker 容器中成功初始化 MySQL 資料庫架構?的詳細內容。更多資訊請關注PHP中文網其他相關文章!