返回部落格

如何在 Docker 容器與主機之間共享資料

如何在 Docker 容器與主機之間共享資料

介紹

一般而言,Docker 容器僅運行特定的一段時間 – 即執行該命令所需的時間。在運行期間,只能從容器內部訪問容器內可用的數據。

Docker 數據卷 可用於輕鬆訪問文件並將其存儲更長的時間。例如,如果您有一個 Nginx 網頁伺服器,並且想要存儲日誌以進行審計,您可以使用 Docker 數據卷將容器中的日誌存儲在您的主機中。

在本教學中,您將學習如何在 Docker 容器內部與主機之間共享數據。 

先決條件

進行本教學前,您需要滿足以下先決條件:

步驟 1 – 綁定掛載數據卷

您可以創建一個名為 logs 的目錄在您當前用戶的家目錄中,並將其綁定掛載到 /var/log/nginx 在 Nginx 容器中,使用以下命令:

以下是關於此命令的更詳細資訊:

  • --name=nginx 為容器命名,以便於引用。
  • -d 參數會分離進程並在背景運行。
  • -v hostPath:containerPath 映射主機路徑和容器路徑以綁定掛載。
  • -p hostPort:containerPort 參數將容器的連接埠映射到主機連接埠。
  • nginx 在行尾是用於啟動容器的映像檔名稱。
注意: 請務必使用 / 或 ~/ 開頭來指定 hostPath,否則 -v 參數會將該路徑視為數據卷的名稱,而不會進行綁定掛載。

步驟 2 – 訪問主機上的數據

現在,您的伺服器上運行著一個 Nginx 容器,並且伺服器的連接埠 5000 映射到 Nginx 的連接埠 80。您可以使用以下 URL 在網頁瀏覽器中打開該連接埠:

nginx homepage

在 ~/logs 目錄中,您將看到 access.log 和 error.log 文件。您可以使用 cat 命令查看日誌:

您也可以檢查主機上的日誌目錄 ~/logs 並找到 Nginx 的日誌文件。此外,如果您在 logs 資料夾中進行任何更改,這些更改也會反映在容器的 /var/log/nginx 資料夾中。

結論

在本教學中,您學習了如何在 Docker 容器內部與主機之間共享數據。這在開發環境中至關重要,因為分析日誌是進行偵錯的必要步驟。

有關 Docker 的更多資源,請參閱我們的部落格,您可以查看以下內容:

祝您運算愉快!

author

Akshay Nagpal

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的創意設計師,專注於透過傳統與創新行銷渠道建立一致的企業形象。他擅長將藝術願景與策略行銷相融合,創造具有影響力的品牌敘事。

留言

目前尚無留言。成為第一個留言的人吧。