![](/img/trans.png)
[英]Connection refused when connecting to host mysql db from docker container
[英]Connecting to mysql container from host
我已經在Mac上安裝了docker。 我有在本地計算機(MAC)上運行的MySQL容器。
Docker ps命令給我下面的輸出-
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b5c50b2d334a test_mysql2 "docker-entrypoint.s…" 2 hours ago Up 2 hours (healthy) 0.0.0.0:32783->3306/tcp test_mysql2_1
我知道將在容器中設置的mysql的用戶名和密碼。
我想連接到mysql並運行一些查詢,但是我無法弄清楚如何連接到它。 任何幫助將不勝感激。
如果要通過Docker連接到MySQL嗎? 請按照我正在使用的分步過程進行操作。
第1步 :從docker hub拉MySql鏡像。 以下命令將提取最新的mysql映像。
cli> docker pull mysql
步驟2 :從該映像運行容器。 “ -name”為容器命名。 '-e'指定您需要設置的運行時變量。 使用“ MYSQL_ROOT_PASSWORD”設置MySQL根用戶的密碼。 '-d'告訴泊塢窗在后台運行容器。
cli> docker run --name=testsql -e MYSQL_ROOT_PASSWORD=rukshani -d mysql
這將輸出一個容器ID; 這表示該容器在后台正常運行。
步驟3 :然后通過發出“ docker ps”命令檢查容器的狀態
cli> docker ps
現在您應該能夠看到MySQL在端口3306上運行。
步驟4 :要檢查正在運行的容器的日志,請使用以下命令
cli > docker logs testsql
步驟5 :使用以下命令找到容器的IP。 從輸出中檢出“ IPAddress”,這將告訴您IP地址。
cli> docker inspect testsql
現在,您應該能夠使用端口3306上的tIP ip地址連接到MySQL。
根據您對問題的了解,這就是您所需要的。 (希望如此)
(這不是我自己的文檔,我只想記錄所有事情,尤其是那些我無法記入腦海的過程,因此,即使發生相同的事情,或者將來我需要相同的過程,我也不會浪費時間去做。再次進行研究,但我將打開筆記並運行命令。)
正如您在32783
docker ps
的輸出中看到的那樣,端口32783
(本地計算機)已映射到32783
容器內部的端口3306
。 如果您使用的是MySQL客戶端(例如MySQL Workbench),則應該能夠使用ip localhost
和端口32783
進行連接。 如果沒有,則應使用docker exec
,然后在容器內打開一個交互式mysql shell(如mulg0r所述)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.