Как редактировать файл yaml в Dockerfile или в оболочке?

Запустите htop из терминала или откройте системный монитор, найдите pid используемого процесса и используйте команду kill, чтобы остановить процесс.

0
07.02.2020, 17:28
2 ответа

Если я правильно понял вопрос, в вашей команде Dockerfile направьте ваш curl на sed:

curl XXX | sed -e "s/bindHost: localhost/bindHost: ${your_variable}/g" > yourfile.yaml

Или вы можете отредактировать файл после его загрузки:

sed -ie "s/bindHost: localhost/bindHost: ${your_variable}/g" /path/to/your/file
1
28.04.2021, 23:24

Вы можете передавать значения в свой Dockerfile с помощью «--build -arg» и использовать это значение в вызове RUN sed, например, для ввода параметра IP-адреса:

FROM whatever

COPY config.file /etc/config.file
ARG IPADDR
RUN sed -i -r "s/#IPADDR#/$IPADDR/g" /etc/config.file

И вы строите с:

docker build -t foobar --build-arg IPADDR=11.12.13.14.

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

ARG ARGVAR
ENV ENVVAR $ARGVAR

что было бы лучше, если бы ваш синтаксис конфигурации мог выполнять подстановку переменных из среды (нет необходимости запускатьsed).

Но это делает изображение слишком бетонным, вместо этого вы можете установить переменные среды при запуске контейнера(docker runс помощью --env,--env-list)и использовать эти значения для редактирования файла конфигурации на -. ] -летают в скрипте, который является точкой входа в контейнер, если, конечно, ваш синтаксис конфигурации (или параметры запуска )не могут выполнить подстановку envvar.

0
28.04.2021, 23:24

Теги

Похожие вопросы