Назад | Перейти на главную страницу

Dockerfile разделение задач для безопасного сервера apache httpd в отношении файлов сертификации SSL

Проблема:

В решении без докеров сертификаты SSL могут быть расположены в / etc / pki / CA / .... и со ссылками на них в файлах /etc/httpd/conf.d/*.conf. Как эти SSL-сертификаты должны управляться / размещаться / использоваться в образе докера для защищенного сервера apache httpd и не являться частью образа докера?

Цель:

Создайте образ докера для защищенного сервера apache httpd, используя предоставленные сертификаты SSL.

Идеи, как это решить:

Тома Docker могут решить эту проблему, подключив сертификаты с хоста к образу с помощью docker run -v /HOST/SSL/PATH:/CONTAINER/SSL/PATH, на который затем можно ссылаться из изображения.

Так ли это, или эту проблему можно решить другим способом?

Вы также можете создать именованный том данных следующим образом. В этом примере я буду использовать каталог с именем / usr / local / apache / SSL.

  1. Создайте пустой каталог / usr / local / apache / SSL в своем контейнере apache и зафиксируйте
  2. Запустите новый базовый контейнер для вашего тома данных и создайте тот же пустой каталог / usr / local / apache / SSL (может потребоваться сначала создать / usr / local / apache)
  3. Зафиксируйте контейнер, созданный на шаге 2: docker commit CONTAINER_ID data / apachessl: latest)
  4. Создайте контейнер именованного тома данных: docker run --name = DATAmyApacheSSLCerts -v / usr / local / apache / SSL data / apachessl true
  5. Скопируйте свой SSL-сертификат в / usr / local / apache / SSL, используя "одноразовый контейнер", чтобы поместить их туда: docker run -it --rm = true --volumes-from = DATAmyApacheSSLCerts APACHE_CONTAINER / bin / bash
  6. Раскрутите свой "настоящий" образ apache, но смонтируйте том данных, добавив --volumes-from = DATAmyApacheSSLCerts в команду запуска для образа apache

Теперь любые изменения, внесенные вами в каталог / usr / local / apache / SSL, будут сохраняться до тех пор, пока вы не удалите экземпляр DATAmyApacheSSLCerts.

Образы Busybox создают большие объемы данных из-за их чрезвычайно малого размера.

Вероятно, вы захотите отрегулировать объем данных и добавить каталог conf, чтобы изменения сохранялись, но не меняли базовый образ. Просто создайте каталог conf в своем образе данных, скопируйте файлы из базовой установки apache и добавьте еще один флаг -v для каталога conf.

** ПРИМЕЧАНИЕ. У вас должен быть каталог в вашем основном изображении, который соответствует тому, который используется в вашем томе данных.

Если вы не хотите, чтобы они были частью образа докера, то установка тома с хоста - действительно хороший способ.