從另一個容器連接到MySQL 容器
您已經設定了一個運行MySQL 並公開連接埠3306 的Docker 容器,但如何才能您從另一個容器存取該資料庫?
使用 IP位址
最初,您嘗試使用 MySQL 容器的 IP 位址 (172.17.0.2) 進行連線。雖然這種方法可行,但並不理想,因為 IP 位址可能會更改。
使用者定義的網路
更好的方法是使用使用者定義的網路來連接容器。您可以建立一個網路並將 MySQL 和 PHP 容器附加到其上。
docker network create my_network
連結容器
在以下位置運行兩個容器相同網絡,使用--network 標誌提供網路名稱:
docker run -d --name php_container --network my_network my_php_image docker run -d --name mysql_container --network my_network my_mysql_image
在該網路上的容器中,您可以解析容器名稱並使用主機名稱進行連線。例如,從PHP 容器,您可以使用以下方式連接到MySQL:
$mysqli = new mysqli("mysql_container", "mattia", "prova", "prova");
結論
使用者定義的網路提供了更強大、更靈活的方式來連接Docker中的容器。使用容器名稱作為主機名稱可以簡化存取並消除對 IP 位址的依賴。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3