gpt4 book ai didi

docker - 如何在 Docker 容器中的 Tomcat 上启用 HTTPS?

转载 作者:行者123 更新时间:2023-11-28 22:00:50 25 4
gpt4 key购买 nike

我是 Tomcat 和 Docker 的新手,一直在尝试在我的网站上启用 https。首先在服务器上,而不是在任何容器中:

a) 我生成了 CSR

b) 获得商业 SSL 证书

c) 将证书放在服务器/etc/docker/certs 的文件夹中

d) 然后使用下面的配置创建我的 Docker 容器

我可以使用命令 docker exec -it <container-id> sh导航我的容器。我可以编辑 server.xmlweb.xml但我意识到,如果我希望 https 配置能够保留过去的单个容器,我应该在容器外部的操作系统级别安装证书。换句话说,我应该能够删除一个容器,然后创建另一个容器而无需重新安装 ssl。

我该怎么做?有任何想法吗?。提前致谢!以下是我的配置:

1.数据库

docker run -d --name=example-db --restart=always --net=example-net --mount type=volume,src=mydbdata,target=/example-db --hostname=example-db -e POSTGRES_DB=mydb -e POSTGRES_USER=myuser -e POSTGRES_PASSWORD=secret myapp/db

2.应用

docker run -d --name=example-app --restart=always --mount type=volume,src=mydata,target=/example-app -p 80:8080 --net=example-net -e DB_HOST=example-db -e DB_NAME=mydb -e DB_USER=myuser -e DB_PASSWORD=secret myapp/myapp

再次感谢您的帮助。艺术

最佳答案

您可以在 docker run 时使用 bind mounts 将外部证书映射到容器中.假设您的证书位于主机上的 /etc/docker/certs 中,并且您希望它们位于容器中的 /etc/ssl/certs 中,然后添加以下任一以下内容:

-v /etc/docker/certs:/etc/ssl/certs:ro

--mount type=bind,src=/etc/docker/certs,dst=/etc/ssl/certs,readonly

在这种情况下,您的 Tomcat 配置将使用 /etc/ssl/certs 作为其路径。

关于docker - 如何在 Docker 容器中的 Tomcat 上启用 HTTPS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54328931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com