首頁 >資料庫 >mysql教程 >如何排查 Docker 化 LAMP 專案中的 MySQL 設定和資料匯入錯誤?

如何排查 Docker 化 LAMP 專案中的 MySQL 設定和資料匯入錯誤?

Barbara Streisand
Barbara Streisand原創
2024-12-07 04:59:10983瀏覽

How to Troubleshoot MySQL Setup and Data Import Errors in a Dockerized LAMP Project?

對Dockerfile 中的資料庫設定和資料匯入進行故障排除

為LAMP 專案建立Dockerfile 可能具有挑戰性,尤其是在遇到與MySQL 相關的錯誤時設定和資料導入。本文解決了使用 Dockerfile 指令設定 MySQL 和匯入轉儲時遇到的常見問題。

提供的 Dockerfile 包含幾個用於 MySQL 設定和資料載入的基本命令。但是,錯誤訊息表示無法連接到本機MySQL伺服器。為了解決這個問題,我們可以採用下面的解決方案。

使用 Docker 映像進行資料匯入的解決方案

官方 MySQL Docker 映像的最新版本提供了在啟動期間匯入資料的便利解決方案。提供的 docker-compose.yml 配置允許從指定的 SQL 檔案匯入資料:

data:
  build: docker/data/.
mysql:
  image: mysql
  ports:
    - "3307:3306"
  environment:
    MYSQL_ROOT_PASSWORD: 1234
  volumes:
    - ./docker/data:/docker-entrypoint-initdb.d
  volumes_from:
    - data

在此配置中,data-dump.sql 放置在 docker/data 目錄下。該目錄安裝到 MySQL 容器內的 /docker-entrypoint-initdb.d。

MySQL 映像中的 docker-entrypoint.sh 腳本包含一個區塊,用於解析副檔名為 .sql 的檔案並將其執行為針對 MySQL 資料庫的 SQL 查詢。這樣可以在容器啟動時匯入資料。

確保資料持久化

如果在停止並刪除 MySQL 容器後仍需要資料持久化,建議使用單獨的資料容器。資料容器的 Dockerfile 很簡單:

FROM n3ziniuka5/ubuntu-oracle-jdk:14.04-JDK8

VOLUME /var/lib/mysql

CMD ["true"]

透過將資料容器掛載到 MySQL 容器,即使 MySQL 容器停止,資料仍然存在。請注意,資料容器不需要為了持久性而運作。

以上是如何排查 Docker 化 LAMP 專案中的 MySQL 設定和資料匯入錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn