」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何從 Docker 中的另一個容器連接到 MySQL 容器?

如何從 Docker 中的另一個容器連接到 MySQL 容器?

發佈於2024-11-08
瀏覽:238

How to Connect to a MySQL Container from Another Container in Docker?

從另一個容器連接到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 位址的依賴。

最新教學 更多>
  • 如何使用node-mysql在單個查詢中執行多個SQL語句?
    如何使用node-mysql在單個查詢中執行多個SQL語句?
    Multi-Statement Query Support in Node-MySQLIn Node.js, the question arises when executing multiple SQL statements in a single query using the node-mys...
    程式設計 發佈於2025-04-29
  • MySQL中如何高效地根據兩個條件INSERT或UPDATE行?
    MySQL中如何高效地根據兩個條件INSERT或UPDATE行?
    在兩個條件下插入或更新或更新 solution:的答案在於mysql的插入中...在重複鍵更新語法上。如果不存在匹配行或更新現有行,則此功能強大的功能可以通過插入新行來進行有效的數據操作。如果違反了唯一的密鑰約束。 實現所需的行為,該表必須具有唯一的鍵定義(在這種情況下為'名稱'...
    程式設計 發佈於2025-04-29
  • 您如何在Laravel Blade模板中定義變量?
    您如何在Laravel Blade模板中定義變量?
    在Laravel Blade模板中使用Elegance 在blade模板中如何分配變量對於存儲以後使用的數據至關重要。在使用“ {{}}”分配變量的同時,它可能並不總是最優雅的解決方案。 幸運的是,Blade通過@php Directive提供了更優雅的方法: $ old_section =...
    程式設計 發佈於2025-04-29
  • Entity Framework 5更新記錄的最佳方法
    Entity Framework 5更新記錄的最佳方法
    Entity Framework 5記錄更新的最佳實踐 在Entity Framework 5中更新記錄,開發者常常面臨多種方法的選擇,每種方法都有其優缺點。本文將探討三種常用方法及其局限性,並最終給出最佳方案。 方法一:加載原始記錄並逐個更新屬性 此方法需要先加載原始記錄,然後手動更新每個修改...
    程式設計 發佈於2025-04-29
  • C#靜態變量如何工作及為何不能在方法內聲明
    C#靜態變量如何工作及為何不能在方法內聲明
    C#中的靜態變量 許多開發人員難以理解C#中靜態變量的功能。本文旨在闡明它們的用途和用法,同時解釋為什麼不能在方法內部聲明靜態變量。 什麼是靜態變量? 靜態變量是類級別的變量,在該類的所有實例之間共享。其值在從該類創建的所有對象之間共享。 何時使用靜態變量? 在需要跨類的多個實例維護值的情...
    程式設計 發佈於2025-04-29
  • 對象擬合:IE和Edge中的封面失敗,如何修復?
    對象擬合:IE和Edge中的封面失敗,如何修復?
    To resolve this issue, we employ a clever CSS solution that solves the problem:position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%)...
    程式設計 發佈於2025-04-29
  • 如何在JavaScript對像中動態設置鍵?
    如何在JavaScript對像中動態設置鍵?
    在嘗試為JavaScript對象創建動態鍵時,如何使用此Syntax jsObj['key' i] = 'example' 1;不工作。正確的方法採用方括號: jsobj ['key''i] ='example'1; 在JavaScript中,數組是一...
    程式設計 發佈於2025-04-29
  • IACA助力優化Intel CPU代碼性能分析
    IACA助力優化Intel CPU代碼性能分析
    被稱為英特爾體系結構代碼分析儀,IACA是用於評估針對Intel CPU的代碼調度的高級工具。它以三種模式運行: 吞吐量模式: iaca iaca衡量最大的吞吐量,假設它是嵌套循環的主體。 IACA traces the sequence of instructions as they prog...
    程式設計 發佈於2025-04-29
  • 為什麼使用Firefox後退按鈕時JavaScript執行停止?
    為什麼使用Firefox後退按鈕時JavaScript執行停止?
    導航歷史記錄問題:JavaScript使用Firefox Back Back 此行為是由瀏覽器緩存JavaScript資源引起的。要解決此問題並確保在後續頁面訪問中執行腳本,Firefox用戶應設置一個空功能。 警報'); }; alert('inline Alert')...
    程式設計 發佈於2025-04-29
  • 如何使用PHP將斑點(圖像)正確插入MySQL?
    如何使用PHP將斑點(圖像)正確插入MySQL?
    essue VALUES('$this->image_id','file_get_contents($tmp_image)')";This code builds a string in PHP, but the function call fil...
    程式設計 發佈於2025-04-29
  • Java GUI計算器中如何使用getSource()獲取數字按鈕值?
    Java GUI計算器中如何使用getSource()獲取數字按鈕值?
    如何使用getSource() 要檢索每個按鈕的值,請按照以下步驟操作: 當前的code bud y you budsors。 ETC。 )。為數字按鈕(例如NumactionListener)創建一個單獨的操作偵聽器。 為號碼按鈕註冊操作偵聽器。 將NumactionListener添加到所有...
    程式設計 發佈於2025-04-29
  • Java字符串非空且非null的有效檢查方法
    Java字符串非空且非null的有效檢查方法
    檢查字符串是否不是null而不是空的 if(str!= null && str.isementy())二手: if(str!= null && str.length()== 0) option 3:trim()。 isement(Isement() trim whitespace whites...
    程式設計 發佈於2025-04-29
  • PHP陣列鍵值異常:了解07和08的好奇情況
    PHP陣列鍵值異常:了解07和08的好奇情況
    PHP數組鍵值問題,使用07&08 在給定數月的數組中,鍵值07和08呈現令人困惑的行為時,就會出現一個不尋常的問題。運行print_r($月份)返回意外結果:鍵“ 07”丟失,而鍵“ 08”分配給了9月的值。 此問題源於PHP對領先零的解釋。當一個數字帶有0(例如07或08)的前綴時,PHP...
    程式設計 發佈於2025-04-29
  • Go語言垃圾回收如何處理切片內存?
    Go語言垃圾回收如何處理切片內存?
    Garbage Collection in Go Slices: A Detailed AnalysisIn Go, a slice is a dynamic array that references an underlying array.使用切片時,了解垃圾收集行為至關重要,以避免潛在的內存洩...
    程式設計 發佈於2025-04-29
  • 使用JavaScript將SVG轉換為JPEG、PNG等格式的技巧
    使用JavaScript將SVG轉換為JPEG、PNG等格式的技巧
    將SVG轉換為JPEG,PNG和瀏覽器中的其他格式 從SVG圖形中創建高質量的圖像可能是一個挑戰,尤其是您需要以各種格式導出它們。 JavaScript為此任務提供了一種多功能解決方案,使您無需外部工具或插件即可將SVG圖像無縫地轉換為位映射。 使用canvg庫進行渲染:Capture Imag...
    程式設計 發佈於2025-04-29

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3