Как запустить контейнер docker с указанием значений в файлы?
Всем привет!
Возникла следующая потребность для автоматизации запуска контейнера со своими файлами:
- имеется конфигурационный файл в котором для каждого запуска контейнера необходимо вносить новые значения параметра
- подскажите как сделать чтобы при запуске контейнера (или сборке образа) и указанием нужного значения, вносилось это значение в файл и затем этот файл использовался для создания/запуска контейнера.
Например: имеется Zabbix-agentd.conf в котором для каждого узла свое hostname указывается. Так вот чтоб указать при запуске контейнер hostname которое будет записано в конфиг и далее эта конфигурация копируется в контейнер для запуска службы Zabbix-agent.
Спасибо
сергей кузьмин, тома это хорошо, я их монтирую, но мне нужно смонтировать том с нужным уже конфигом для контейнера, который дальше при запуске необходимо применить. Поэтому я хочу указать значения либо при Сборке образа либо при запуске контейнера. Вот как сделать это вопрос...
сергей кузьмин, по мне немного сложновато... Хочется передавать в команде через переменную e значение, которое будет вставляться в файл при сборке образа контейнера или при запуске его с использованием этого файла из примонтированного volume.
проверяем что значение передается из комадной строки в ARG а из него в ENVи уж из него в ENTRYOINT
- в моем слечае это был закодированный JSON {"id":0}
в вашем будет то что нужно вам
сергей кузьмин, подскажите а можно реализовать так, чтобы при запуске контейнера с параметром -е выполнялось изменение в файле который затем монтируется через -v и в дальнейшем Служба в контейнере запускается с использованием файла конфигурации в который был передан нужное значение параметра.Спасибо
для изменения строк тестового файла в юниксе примерно последние 45 или около того лет исполькуется команда sed https://ru.wikipedia.org/wiki/Sed икаких докер-специфических команд не нужно
основную команду википедия цитирует
sed -e 's/oldstuff/newstuff/g' inputFileName > outputFileName
есть конечно 100500 хитрых рецептов для разных конкретных случаев -
никакой военной тайны там нет - можно спокойно гуглить
сергей кузьмин, про sed я все понимаю, но вот задумываюсь как сделать красиво передав с помощью параметра -e несколько значений параметров в конфигурационные файлы при запуске контейнера: docker run -e a b c ....