前言:
docker 在安裝後,主要分成 docker (client) 和 dockerd (server) 兩種,安裝後預設 dockerd 是不對外開放的,如果要讓外部電腦可以遠端操作,需要設定 daemon.json 這個檔案,這邊設定檔,路徑部分以 Windows 為主,在 linux 上套用自行變通一下即可

dockerd (server) 設定:

daemon.json 預設路徑:

widnows: C:\ProgramData\docker\config\daemon.json

linux: /etc/docker/daemon.json

注意事項:daemon.json 需要使用 UTF-8 without BOM 的格式(尤其是在 widnows 上),不然 dockerd 啟動時會報錯

daemon.json 基本範例 (Windows 路徑反斜線需重複一次):

{
    "hosts": ["tcp://0.0.0.0:2376", "npipe://"],
    "tlsverify": true,
    "tlscacert": "C:\\ProgramData\\docker\\cert\\ca.pem",
    "tlscert": "C:\\ProgramData\\docker\\cert\\cert.pem",
    "tlskey": "C:\\ProgramData\\docker\\cert\\key.pem"
}

注意事項:docker port 2376/tcp 預設為加密連線的連接埠,如果要使用非加密連線(不建議),請使用 2375

 

docker (client) 安裝:

Windows:

Window 這邊有三種方法取得 docker

1. 從 https://download.docker.com/components/engine/windows-server/index.json 上取得下載清單,然後下載下來用

2. 透過 chocolatey 安裝 docker-cli

3. 從 dockerd (server) 主機上複製 docker 下來用

注意事項:記得要複製相關的 dll (libwinpthread-1.dll、ssleay32.dll、libeay32.dll),安裝 VC++ 環境

Ubuntu:

從 https://github.com/docker/cli 抓下來自行編譯

 

docker (client) 設定:

需要設定以下環境變數:

DOCKER_HOST="tcp://<Docker server IP 位置>:2376"
DOCKER_TLS_VERIFY="1"
DOCKER_CERT_PATH="C:\Users\<使用者>\.docker"

注意事項:需複製伺服器上的憑證給 client 用,不是兩邊各自產生憑證

 

關於憑證產生方式,可以參考下面方法(在 widnows 下,可以使用 cmder 內建的 openssl):

[Ubuntu] 使用 OpenSSL 產生憑證

 

參考資料:

Windows 上的 Docker 引擎

dockerd

Docker - 在 Windows 10 底下不使用 Hyper-V 安裝 Docker

arrow
arrow
    全站熱搜

    AwEi 發表在 痞客邦 留言(0) 人氣()