我正在尝试将Portainer的一个示例部署到Docker群。我不确定如何设置正确的标志来启用SSL。
来自文档:
$ docker run -d -p 443:9000 --name portainer --restart always -v ~/local-certs:/certs -v portainer_data:/data portainer/portainer --ssl --sslcert /certs/portainer.crt --sslkey /certs/portainer.key
https://portainer.readthedocs.io/en/stable/deployment.html
但是如何将其转换为docker compose yml文件呢?
4条答案
按热度按时间6ju8rftf1#
可能我有点晚了,但看起来你必须使用Portainer的标志来为你的Portainer启用ssl(如文档中所述),而composerize.com在某处丢失了这一部分,所以你应该把它添加到你的compose中:
或对于完整合成文件:
taor4pac2#
根据Portainer文档:
默认情况下,Portainer的Web界面和API通过HTTP公开。这不安全,建议在生产环境中启用SSL。
为此,您可以使用以下标志--ssl、--sslcert和--sslkey:
第一个月
可以使用以下命令生成所需的文件:
$ openssl genrsa -out portainer.key 2048 $ openssl ecparam -genkey -name secp384r1 -out portainer.key $ openssl req -new -x509 -sha256 -key portainer.key -out portainer.crt -days 3650
注意,Certbot也可以用于生成证书和密钥。
作为Rubin suggests,您可以使用https://composerize.com/从
docker
命令生成docker-compose.yml
。因此,您的docker-compose文件应该如下所示:
8fq7wneg3#
https://composerize.com/可以帮助您将
docker
命令转换为docker-compose.yml
rhfm7lfc4#
以下是我的工作: