Portainer - как указать SSL в docker-compose.yml? - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь развернуть экземпляр Portainer в рое докеров.Я не уверен, как установить правильный флаг для включения 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 создать YML-файл?

Ответы [ 3 ]

0 голосов
/ 22 октября 2018

Согласно документации Portainer :

По умолчанию веб-интерфейс и API Portainer предоставляются через HTTP.Это не защищено, рекомендуется включить SSL в производственной среде.

Для этого вы можете использовать следующие флаги --ssl, --sslcert и --sslkey:

$ 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

Вы можете использовать следующие команды для генерации необходимых файлов:

$ 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 может также использоваться для генерации сертификата и ключа.

Поскольку Рубин предлагает , вы можете использовать https://composerize.com/ для генерации docker-compose.yml из docker команды.

Итак, вашФайл docker-compose должен выглядеть примерно так:

version: 3
services:
    portainer:
        image: portainer/portainer
        container_name: portainer
        restart: always
        ports:
            - '443:9000'
        volumes:
            - '~/local-certs:/certs'
            - 'portainer_data:/data'
0 голосов
/ 28 марта 2019

Возможно, я немного опоздал на вечеринку, но похоже, что вы должны использовать флаги Portainer для включения ssl для вашего Portainer (как сказано в документации ) и composerize.com где-то потерял эту часть, так что вы должны добавить это в свой композит:

command:
  --ssl
  --sslcert /certs/portainer.crt
  --sslkey /certs/portainer.key

или для полного файла компоновки:

version: 3
services:
    portainer:
        image: portainer/portainer
        container_name: portainer
        restart: always
        ports:
            - '443:9000'
        volumes:
            - '~/local-certs:/certs'
            - 'portainer_data:/data'
        command:
            --ssl
            --sslcert /certs/portainer.crt
            --sslkey /certs/portainer.key
0 голосов
/ 22 октября 2018

https://composerize.com/ может помочь перевести вашу команду docker в docker-compose.yml

...