在 Docker 中建立資料服務

Docker 中級

Mike Metzger

Data Engineering Consultant

資料共享

  • docker run -v <host directory>:<container directory>
    • -v ~/hostdata:/containerdata
Docker 中級

在 compose.yaml 中的資料共享

  • 也可用於 compose.yaml 檔案
services:
  resource:
    name: resource1

    # 區塊名稱為 volumes
    volumes:

- <host directory>:<container directory> # 例如: - ~/hostdata:/containerdata
Docker 中級

網路(Networks)

  • docker run --network <networkname>

    • docker run --network net1
  • compose.yaml 的資源中

services:
  resource:
    name: resource1

    networks:

network_name: # 例如: net1:
Docker 中級

連接埠對應

  • docker run -p hostport:containerport
    • -p 8000:8000
  • 也可在 compose.yaml 的資源中設定
services:
  resource:
    name: resource1

    ports:

- hostport:containerport # 例如: - 8000:8000
Docker 中級

docker inspect

  • 取得已佈建容器的資訊
    • docker inspect <id / name>
  • 提供多層次資訊
    • Mounts:已掛載資料
    • NetworkSettings:網路資訊
      • NetworkSettings:Networks:顯示 Docker 網路連線詳情
    "Config": {
       "Mounts": [...]
       ...
       "Networks": {
                "network1": {
        ...
Docker 中級

資料服務

資料服務 - 伺服器.png

Docker 中級

資料服務

資料服務 - 用戶端.png

Docker 中級

資料服務

資料服務 - 完整.png

Docker 中級

一起來練習吧!

Docker 中級

Preparing Video For Download...