Относительные символические ссылки отображаются на два уровня вверх (от domain
папки к live
папке, от live
папки к root
папке), затем входят в archive
папку и, наконец, в domain
подпапку внутри.
Чтобы избежать монтирования всех подкаталогов домена и предоставления доступа ко всем данным сертификата, мы должны использовать 2 монтирования.
Структура каталогов Docker Host
Давайте предположим следующую структуру каталогов, созданную certbot на хосте Docker:
/certbot/ |-live/ | |-domain.com | | |-cert.pem | | |-privkey.pem | |-domain2.com | |-cert.pem | |-privkey.pem | |-archive/ |-domain.com | |-cert.pem | |-privkey.pem |-domain2.com |-cert.pem |-privkey.pem
Монтирование подкаталогов
В Docker нам нужны только подкаталоги целевого домена, смонтированные внутри контейнера.
docker run \ -v /certbot/live/domain.com:/cert/live/domain.com:ro \ -v /certbot/archive/domain.com:/cert/archive/domain.com:ro \ myimage:tag
Таким образом, программы внутри контейнера могут успешно разрешать относительные пути к archive
папке, в то время как их конфигурация указывает на символические ссылки внутри live
папки ( /cert/live/domain.com/cert.pem
).