開發時從宿主機連線容器中的MySQL

2022-08-22 21:33:11 字數 1021 閱讀 7016

剛接觸docker,電腦安裝docker後,使用docker命令pull了乙個mysql5.6的docker映象,之後docker run啟動建立容器。

可以使用docker exec -it命令進入到容器,也能使用mysql命令連線到資料庫。

但是在使用springboot連線時,連線不上,開始使用的ip172.17.0.2,確認了容器ip確實是這個,又去確認密碼什麼的,都不行。後來又看到有人執行docker-machine命令去獲取了乙個ip位址192.168.99.100這個位址,結果執行docker-machine active發現沒有活躍的容器,需要建立,但是我有個正在執行的容器,很奇怪,後來看到這是兩種不同的啟動容器的方式。

簡單看了下官方的文件docker docs中的描述,直接使用的docker run這種命令屬於docker engine的客戶端命令,而docker-machine則就屬於docker machine的客戶端命令,使用docker machine其實也是建立乙個已經存在docker engine的虛擬機器,之後還是需要docker run這個docker engine命令去建立乙個容器。

在os x或者windows上執行docker,其實還是跑在docker建立的乙個linux虛擬機器上,使用virtualbox建立的虛擬機器。

docker machine可以對遠端主機或者雲主機做批量的建立容器,畢竟如果是集群的話,不可能乙個乙個的執行docker run命令。

以上就是初次接觸docker獲得的一些資訊,肯定會存在紕漏。

docker容器的程式連線宿主機的MySQL

docker裡面的 生成的資料需要寫入到宿主機的mysql伺服器上,想要用本地的資料庫測試自己的 正確性,專案程式安裝在docker容器中,於是必定要在docker容器裡訪問到本地的資料庫。1 在docker容器裡localhost並不是指宿主機的localhost,因此不能在容器中通過localh...

docker將資料從宿主機掛載到容器中的三種方式

docker將資料從宿主機掛載到容器中的三種方式 1 volumes docker管理宿主機檔案系統的一部分 var lib docker volumes 儲存資料的最佳方式。將容器資料持久化到宿主機,docker自己來管理的乙個位置 volumes特點 卷管理docekr volume ls 列出...

宿主機連線docker中的mysql

docker run name mysql v pwd mysql var lib mysql p 3306 3306 e mysql root password 123456 d mysql 5.7 錯誤的連線方式 mysql u root p enter password error 2002 ...