使用反向代理,实现快速配置、重启 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/ 即可下载该反向代理镜像。

相关文章
|
20天前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
64 1
|
2月前
|
应用服务中间件 Docker 容器
docker应用部署---Tomcat的部署配置
这篇文章介绍了如何使用Docker部署Tomcat服务器,包括搜索和拉取Tomcat镜像、创建容器并设置端口映射和目录映射,以及如何创建一个HTML页面并使用外部机器访问Tomcat服务器。
docker应用部署---Tomcat的部署配置
|
1天前
|
Docker 容器
docker 容器重启
【10月更文挑战第30天】docker 容器重启
5 0
|
2月前
|
关系型数据库 MySQL 数据安全/隐私保护
docker应用部署---MySQL的部署配置
这篇文章介绍了如何使用Docker部署MySQL数据库,包括搜索和拉取MySQL镜像、创建容器并设置端口映射和目录映射、进入容器操作MySQL,以及如何使用外部机器连接容器中的MySQL。
docker应用部署---MySQL的部署配置
|
25天前
|
网络协议 Docker 容器
docker中的DNS配置
【10月更文挑战第5天】
191 1
|
1月前
|
存储 Ubuntu JavaScript
如何使用Docker优化你的开发环境配置
如何使用Docker优化你的开发环境配置
|
1月前
|
Docker 容器
利用Docker Compose优化开发环境的配置
在现代软件开发中,环境一致性至关重要。开发人员常需在不同机器间复制环境配置,而Docker Compose提供了一种简便有效的方法来定义和运行多容器Docker应用程序,确保开发、测试和生产环境一致,简化团队协作,提高开发效率。通过YAML文件配置服务、网络和卷,使用简单命令即可启动和停止服务。本文将介绍Docker Compose的核心优势、基本使用方法及高级功能,帮助你更好地管理和优化开发环境。
|
2月前
|
应用服务中间件 nginx Docker
docker应用部署---nginx部署的配置
这篇文章介绍了如何使用Docker部署Nginx服务器,包括搜索和拉取Nginx镜像、创建容器并设置端口映射和目录映射,以及如何创建一个测试页面并使用外部机器访问Nginx服务器。
|
2月前
|
Linux Docker Windows
Docker配置https证书案例
本文介绍了如何为Docker的Harbor服务配置HTTPS证书,包括安装Docker和Harbor、修改配置文件以使用证书、生成自签名证书、配置证书以及验证配置的步骤。
139 2
Docker配置https证书案例
|
2月前
|
关系型数据库 数据库 网络虚拟化
Docker环境下重启PostgreSQL数据库服务的全面指南与代码示例
由于时间和空间限制,我将在后续的回答中分别涉及到“Python中采用lasso、SCAD、LARS技术分析棒球运动员薪资的案例集锦”以及“Docker环境下重启PostgreSQL数据库服务的全面指南与代码示例”。如果你有任何一个问题的优先顺序或需要立即回答的,请告知。
64 0