使用反向代理,實現快速配置、重啟 Docker 守護進程

使用反向代理,實現快速配置、重啟 Docker 守護進程

每週一、三、五,與您不見不散!


發佈 Docker 守護進程通常涉及到創建所需的證書,重新配置 Docker 守護進程並重新啟動它。但是,您通常沒有更改守護進程配置或重啟守護進程所需要的權限。接下來,我將演示如何使用容器化反向代理來實現它。



在將 Docker 守護進程公開給 TCP 端口上的網絡時,都需要我們配置證書身份驗證。 如果不這樣做,那就等於為所有人提供了 root 權限。


先決條件


請按照官方文檔創建保護 Docker 守護進程所需的證書。與官方文檔相反,不要將 Docker 守護進程配置為使用新創建的證書。我將在下一節“用法”中介紹為什麼要這麼做。


用 法


反向代理是基於“nginx:stable-alpine”,並且使用 TLS 來監聽“2376/tcp”。所有請求都轉發到本地 Docker 守護進程的“/var/run/docker.sock”中,它必須映射到容器中,如下所示:

docker run -d \
--env CA_CRT=$(cat ca.pem) \
--env SERVER_KEY=$(cat server_key.pem) \
--env SERVER_CRT=$(cat server_cert.pem) \
--volume /var/run/docker.sock:/var/run/docker.sock
--net=host
nicholasdille/docker-auth-proxy

您也可以在默認網絡中啟動容器並公開端口:

docker run -d \
--env CA_CRT=$(cat ca.pem) \
--env SERVER_KEY=$(cat server_key.pem) \
--env SERVER_CRT=$(cat server_cert.pem) \
--volume /var/run/docker.sock:/var/run/docker.sock
-p 2376:2376
nicholasdille/docker-auth-proxy

可以根據需要啟動和停止 Docker 守護進程的發佈,這並不會影響到正在運行的容器。


下 載

使用反向代理,實現快速配置、重啟 Docker 守護進程

瀏覽 https://hub.docker.com/r/nicholasdille/docker-auth-proxy/ 即可下載該反向代理鏡像。


分享到:


相關文章: