使用反向代理,实现快速配置、重启 Docker 守护进程-阿里云开发者社区

开发者社区> 云原生> 正文

使用反向代理,实现快速配置、重启 Docker 守护进程

简介: 发布 Docker 守护进程通常涉及到创建所需的证书,重新配置 Docker 守护进程并重新启动它。但是,您通常没有更改守护进程配置或重启守护进程所需要的权限。接下来,我将演示如何使用容器化反向代理来实现它。

screenshot

出品丨Docker公司(ID:docker-cn)
编译丨小东
每周一、三、五,与您不见不散!


发布 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 守护进程的发布,这并不会影响到正在运行的容器。


下 载

screenshot

浏览 https://hub.docker.com/r/nicholasdille/docker-auth-proxy/ 即可下载该反向代理镜像。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云原生
使用钉钉扫一扫加入圈子
+ 订阅

云原生时代,是开发者最好的时代

其他文章