首頁 > 資料庫 > mysql教程 > 如何在 Docker 容器內可靠地初始化 MySQL 資料庫架構?

如何在 Docker 容器內可靠地初始化 MySQL 資料庫架構?

Barbara Streisand
發布: 2024-12-05 03:54:13
原創
922 人瀏覽過

How to Reliably Initialize a MySQL Database Schema within a Docker Container?

如何在Docker 容器中使用架構初始化MySQL 資料庫

在Docker 容器中使用架構初始化MySQL 資料庫是一項涉及建立資料庫的常見任務並將模式載入到其中。實現此目的的一種方法是使用 Dockerfile 和 CMD 命令來執行初始化資料庫的腳本。不過,這種方法可能會遇到困難,因為 CMD 指令只能執行單一指令,而不能執行一系列指令。

為了解決這個問題,更可靠的方法是使用 ADD 指令來新增資料庫schema 檔案複製到 /docker-entrypoint-initdb.d 目錄。建立容器後,docker-entrypoint.sh 腳本會自動針對 MySQL 資料庫執行位於此目錄中的任何 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
登入後複製

準備架構轉儲:

在開始之前,請確保您有保存在名為schema.sql 的檔案中的MySQL 模式轉儲。這可以透過使用mysqldump 命令來獲得:

mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
登入後複製

啟動Docker MySQL 實例:

修改Dockerfile 並準備好架構轉儲後,您可以使用Docker Compose啟動Docker MySQL實例:

docker-compose build
docker-compose up
登入後複製

透過以下步驟,你可以有效地初始化一個 MySQL具有 Docker 容器內架構的資料庫。 docker-entrypoint-initdb.d 目錄可確保在容器建立期間載入架構,從而允許您擁有一個包含所需架構的預先填充資料庫。

以上是如何在 Docker 容器內可靠地初始化 MySQL 資料庫架構?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板