簡體   English   中英

如何使用mysql docker容器作為mysql服務器進行本地開發?

[英]How to use mysql docker container as mysql server for local development?

我是docker技術的新手。 現在我仍在使用xampp來開發PHP。 最近,我在我的localhost上安裝了docker。 我已經完成了文檔。 現在是實施的時候了。 我知道如何運行docker圖像。 但我想學習使用mysql docker容器進行本地開發的最佳方法。

我打算用mysql docker容器代替xampp的mysql。 尋求最佳設置的幫助。

它很好地學習新技術。 你想使用mysql容器而不是xampp stack的mysql。 你應該更喜歡官方形象。 您可以在hub.docker.com上搜索docker鏡像。您需要從命令行運行此命令。

docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=db-password -v /my/own/datadir:/var/lib/mysql mysql

上面的命令將創建名為mysql的docker容器。 您可以使用命令中給出的用戶root和密碼在127.0.0.1:3306上訪問它。 您的mysql數據將存儲在/ my / own / datadir目錄中。 因此,您的數據將在重新啟動后保留。

現在是時候將本地mysql服務器數據轉儲到容器mysql了。 您可以使用此命令轉儲數據。 假設您已創建備份轉儲文件(例如dbdump.sql)。 將dbdump.sql文件復制到'/ my / own / datadir /'

現在運行此命令。

docker exec -i -t mysql

從容器內部寫下這些命令。

cd /var/lib/mysql
mysql -uroot -p < dbdump.sql

注意:在執行上述命令之前,需要停止xampp的mysql。 詢問時輸入密碼。

所以,我個人最喜歡的方法是使用一個名為docker-compose的工具。 它允許您定義一個簡單的yaml文件,然后您可以訪問一些前綴為docker-compose額外命令。 docker-compose builddocker-compose up等,它比運行一堆獨立的docker命令和記住容器名稱以便鏈接容器等等更方便。

舉個例子來幫助理解看看這個docker-compose.yaml 在此文件中,您可以方便地聲明您的服務(在本例中為dbphpansible < - 每個將是一個單獨的容器),以及它們如何相互依賴,每個容器的各個Dockerfile的路徑( 建設 )和其他好東西。

您還可以指定要使用的容器的環境信息(同樣,對於我鏈接到的docker-compose,您可以查看用於指定容器所需信息的端口環境 )。 在示例docker-compose文件中,在db: service的environment:部分中,您可以看到指定此信息很簡單,並且在啟動容器時, 這些值將在安裝/設置mysql時自動使用 使用一個命令鏈接到其他容器的運行/配置的mysql 真的很容易。 有其他的環境變量,你可以指定容器使用(每一個通常有幾個)點擊此處查看列表

看看我在這里為LAMP堆棧開發設置的docker。 我在我自己的github中有幾個不同的,但如果你搜索github,你可以找到一堆 docker / docker-compose設置。 當我需要回顧如何設置某些內容時,他們幫助我對Docker感到滿意(有時甚至還有)。

一個真正有用的啟動引導可以發現在這里 Docker撰寫單手使我的工作流程更容易理解/實施多次。 這絕對值得一看。

請找到此鏈接 ,其中包含以下部分

卷:db_data:/ var / lib / mysql

Mysql將安裝在單獨的容器中,但其/ var / lib / mysql路徑映射到文件夾的db_data。 所以所有數據庫都存儲在db_data文件夾中。

php:

... depends_on:db這里PHP容器鏈接到Mysql容器。

請在下面鏈接查看詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM