Docker 同一主機不同容器之間的通訊

2021-10-23 16:50:59 字數 1279 閱讀 1927

解決問題:解決同一主機不同容器之間的通訊

當在本機執行乙個web的映象,想要訪問mysql映象的時候如果使用127.0.0.1:3306來連線mysql是連線不上的。最好的解決辦法就是將mysql服務放在另外乙個主機上,但是畢竟。。也沒有那麼多裝置。。

使用docker inspect 容器名/id 可以檢視當前容器的ip位址,但是當每次重啟容器這個ip位址會發生變化,這種方法比較麻煩

1.先建立mysql

docker run --name mysql -p 3306:3306 -v /mysql/database/data:/var/lib/mysql -e mysql_root_password=密碼 -d mysql

引數說明

2.建立web容器

docker run -id -p 9999:9999 --name gitma --link mysql:othermysql 容器名

引數說明

othermysql給當前連線的資料庫取乙個別名為othermysql

3.修改**中的連線位址

4.這樣web就可以連線到mysql啦

link的方式只能解決單機容器間的互聯,多機的情況下,需要進行網路橋接

1.建立橋接網路

docker network create --driver bridge

2.建立乙個指定了subnet的橋接網路

go docker network create --driver bridge --subnet 172.19.0.0/16

3.建立乙個網路模式為bridge的容器

go docker run -itd --name test1 --network /bin/bash

4.為容器指定ip

docker run -itd --name test1 --network --ip 172.19.0.10 /bin/bash

2020.8.22

不同主機間的 Docker 容器相互通訊

操作參照了 ubuntu14.0.4為例 宿主主機 ip 192.168.220.131 ifconfig檢視 gateway 192.168.220.2 netstat rn destination 為 0.0.0.0 的 dns 192.168.220.2 cat etc resolv.conf...

不同主機間的 Docker 容器相互通訊

操作參照了 ubuntu14.0.4為例 宿主主機 ip 192.168.220.131 ifconfig檢視 gateway 192.168.220.2 netstat rn destination 為 0.0.0.0 的 dns 192.168.220.2 cat etc resolv.conf...

Docker 容器時間與宿主機不同步

背景 宿主機的時間和容器的時間不同步 宿主機 容器 原因 由於時區不一樣,相差8小時 宿主機採用了cst時區 china shanghai time,東八區時間 容器採用了utc時區 coordinated universal time,標準時間 解決辦法 啟動容器的時候把時區檔案掛載進去 例如 d...