首頁 > 資料庫 > mysql教程 > 如何在 Docker 容器中成功初始化 MySQL 資料庫架構?

如何在 Docker 容器中成功初始化 MySQL 資料庫架構?

Susan Sarandon
發布: 2024-12-04 06:41:10
原創
1019 人瀏覽過

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

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

使用架構初始化資料庫可能是一個複雜的過程,尤其是在使用 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初始化資料庫,請依照下列步驟操作:

  1. 將MySQL 架構轉儲到檔案using:
mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
登入後複製
  1. 將schema 檔案加入Dockerfile 中的/docker-entrypoint-initdb.d 目錄中:
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
登入後複製
  1. 使用以下指令啟動Docker MySQL 實例:
docker-compose build
docker-compose up
登入後複製

透過實例:

透過使用/docker -entrypoint-initdb.d 目錄中,容器初始化時將自動針對MySQL 資料庫執行SQL文件,確保資料庫使用所需的架構進行初始化。

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

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