Docker开启安全的TLS远程连接访问方式

下面是“Docker开启安全的TLS远程连接访问方式”的完整攻略,包含两条示例说明。

步骤一:创建CA证书

  1. 在本地创建一个目录,比如 docker-tls 作为证书的存储目录。

  2. 切换到 docker-tls 目录中。

  3. 执行如下命令,生成 CA 私钥:openssl genrsa -aes256 -out ca-key.pem 4096

  4. 执行如下命令,生成 CA 证书:openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem

  5. 通过在浏览器中双击 ca.pem 文件,将其导入到受信任的根证书颁发机构中。

步骤二:创建服务器证书

  1. 切换到 docker-tls 目录中。

  2. 执行如下命令,生成服务器私钥:openssl genrsa -out server-key.pem 4096

  3. 执行如下命令,生成证书签名请求文件:openssl req -subj "/CN=<server_fqdn>" -sha256 -new -key server-key.pem -out server.csr

其中,<server_fqdn> 是服务器的FQDN,例如:www.example.com

  1. 创建 extfile.cnf 文件,并添加以下内容:
subjectAltName = DNS:<server_fqdn>,DNS:localhost,IP:127.0.0.1
extendedKeyUsage = serverAuth
  1. 执行如下命令,生成服务器证书:openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf

该命令会使用之前生成的 CA 证书来签发服务器证书。

步骤三:配置Docker客户端

  1. 切换到 docker-tls 目录中。

  2. 执行如下命令,生成客户端私钥:openssl genrsa -out key.pem 4096

  3. 执行如下命令,生成证书签名请求文件:openssl req -subj '/CN=client' -new -key key.pem -out client.csr

  4. 创建 extfile.cnf 文件,并添加以下内容:

extendedKeyUsage = clientAuth
  1. 执行如下命令,生成客户端证书:openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile extfile.cnf

步骤四:配置Docker服务器

  1. 在服务器上创建一个目录 docker-tls,并将之前生成的 ca.pemserver-cert.pemserver-key.pem 文件拷贝到该目录中。

  2. 修改 Docker 的启动脚本,增加如下参数:

--tlsverify --tlscacert=<path to ca.pem> --tlscert=<path to server-cert.pem> --tlskey=<path to server-key.pem>

如果您使用的是 Docker Compose,可以将上述参数添加到 Compose 文件中的服务定义中。

示例一:使用TLS远程连接到Docker服务器

现在,我们已经配置了服务器和客户端,可以使用 TLS 加密的方式来远程连接到服务器了。下面是连接的示例命令:

docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem -H=<server_ip>:2376 version

其中,<server_ip> 是服务器的 IP 地址。

示例二:使用TLS远程部署服务到Docker Swarm集群

我们可以通过Docker客户端,在Docker Swarm集群中使用TLS加密的方式部署服务。下面是示例命令:

docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem -H=<swarm_manager_ip>:2376 stack deploy -c <compose_file_name> <stack_name>

其中,<swarm_manager_ip> 是Docker Swarm管理节点的IP地址,<compose_file_name> 是Docker Compose文件的名称,<stack_name> 是Docker Stack的名称。

以上就是“Docker开启安全的TLS远程连接访问方式”的完整攻略,包含两条示例说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker开启安全的TLS远程连接访问方式 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • docker 启动容器restart 策略

    docker 运行容器时使用–restart 参数可以指定一个restart策略,来指定容器应该如何重启,或不应该重启,当容器启用restart策略时,将会载docker ps 显示up 或者restart 状态,当然也可以使用docker events命令生效命令中restatcel策略。 docker 支持的restart策略 + no – 容器退出时…

    Docker 2023年4月16日
    00
  • .Net Core部署Docker容器

    下面是关于“.Net Core部署Docker容器”的完整攻略,其中包含两个示例说明。 1. 准备工作 在开始操作前,需要确保你已经完成了以下准备工作: 安装了Docker 安装了.NET Core SDK 2. 创建一个.NET Core Web API 如果你已经有了.NET Core的Web应用程序,请跳过这部分。 下面是创建一个新的.NET Core…

    Docker 2023年5月15日
    00
  • Centos中的Docker 配置:将loop-lvm改为derict-lvm

    重新装了个虚拟机,回顾一下最近三天的工作: Centos 查看版本 cat /etc/redhat-release yum -y upgrade 升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变 目前的版本为CentOS Linux release 7.2.1511 (Core)   添加内核参数 默认配置下,在 CentOS 使用 Docke…

    Docker 2023年4月13日
    00
  • Centos7的docker操作报错:error pulling image configuration:

    error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/f9/f9b9909726890b00d2098081642edf32e5211b7ab53563929a47f…

    Docker 2023年4月16日
    00
  • 万字干货! 使用docker部署jenkins和gitlab

    万字原创文章! 本文将实现通过docker部署Jenkins与GitLab, 并自动化发布应用: 本地机器将代码推送到GitLab, GitLab通过web hook触发Jenkins流水线, Jenkins获取GitLab的代码并生成jar包, 将jar包推送到应用服务器, 并运行jar包. 阅读本文, 需要有基础的Git, Linux, Docker, …

    Docker 2023年4月11日
    00
  • Docker 清理环境操作

    下面是 Docker 清理环境操作的完整攻略: 1. 查看镜像和容器 在使用 Docker 的过程中,我们经常会创建和使用许多镜像和容器,这些对象占据了系统的硬盘空间。因此,我们需要时常查看现有的镜像和容器,来决定是否需要进行清理。 查看所有镜像 docker images 该命令可以列出当前系统中所有的 Docker 镜像,包括它们的名称、 ID、大小、创…

    Docker 2023年5月16日
    00
  • docker 默认配置文件设置

    一 配置docker启动文件 1.1 docker 官方配置文件解释 1daemon.json文件可配置的参数表,我们在配置的过程中,只需要设置我们需要的参数即可,不必全部写出来。详细参考官网。2下述是官网docs提供的一个示例配置,我们可以参考,选择性的配置其中的部分内容 [root@docker2 ~]# vim /etc/daemon.json { “…

    Docker 2023年4月13日
    00
  • docker的windows下安装

    点击上图的dockerToolbox,双击安装 你可通过CMD查看docker是否安装成功,输入docker-machine,出现版本等信息  在使用Docker前,要先创建docker machine,它其实是台虚拟机,不过在使用它的时候,你可能根本察觉不出来它是虚拟的。默认情况下,docker machine的所有文件都会保存在用户的根目录下,一般是在C…

    Docker 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部