簡體   English   中英

默認情況下如何保護 docker 客戶端連接?

[英]How to secure docker client connection by default?

我正在使用 https 來保護 docker 守護程序套接字。 遵循此處提到的所有步驟。 環境變量設置如下,

  • DOCKER_TLS_VERIFY=1
  • DOCKER_CERT_PATH=~/.docker == 我所有的客戶端、CA 和服務器證書 + 密鑰都存在這里
  • DOCKER_HOST=tcp://$HOST:2376

以下命令有效(當我通過 ca、客戶端證書和密鑰時):

docker --tlsverify --tlscacert=~/.docker/ca.pem --tlscert=~/.docker/client-cert.pem --tlskey=~/.docker/client-key.pem -H=$HOST:2376 ps

根據Docker 文檔,我可以默認保護 docker 客戶端連接,並且不需要每次都通過證書,但是命令“docker ps”對我不起作用。 它總是希望通過客戶端證書。

我也嘗試執行以下,

docker-compose --tlsverify --tlscacert=~/.docker/ca.pem --tlscert=~/.docker/client-cert.pem --tlskey=~/.docker/client-key.pem -H=$HOST:2376  up

ERROR: TLS configuration is invalid - make sure your DOCKER_TLS_VERIFY and DOCKER_CERT_PATH are set correctly

默認情況下,如何保護 docker 客戶端連接? 我只想像“docker ps”一樣執行而不每次都通過客戶端證書,因為它已經存在於 ~/.docker

我在這里也提到了一個類似的問題

我自己找到了答案。 當我按照官方文檔說明進行操作時,生成的客戶端證書和密鑰的名稱分別為 cert.pem 和 key.pem。 我在 ~/.docker 目錄中將 cert.pem 重命名為 client-cert.pem 並將密鑰重命名為 client-key.pem。

顯然,docker 默認選擇客戶端證書,前提是它的名稱為 cert.pem 和 key.pem。 所以,我的問題是因為更改了客戶端證書/密鑰名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM