У меня есть несколько других контейнеров Docker, и я выполняю шаги следующим образом:
# Скопировать содержимое текущей директории в контейнер по пути /app
COPY html /usr/share/nginx/html/
COPY dim.local.crt /etc/nginx/ssl/
COPY dim.local.key /etc/nginx/ssl/
COPY nginx.conf /etc/nginx/
COPY default.conf /etc/nginx/sites-enabled/
# Установить все необходимые пакеты, указанные в requirements.txt
#RUN pip install -r requirements.txt
# Нужно ли перезапускать nginx после команд COPY?
RUN
RUN apt-get update && \
apt-get install -y nano && \
rm -fr /var/lib/apt/lists/*
Мне нужно выполнить аналогичные шаги для моего контейнера Discourse, но где находится Dockerfile? Я читал, что, возможно, можно добавить их в конец файла containers/app.yml, но я не уверен.
Я не хочу делать точно такое же. У меня есть просто shell-скрипты и crontab, которые я хочу скопировать в контейнер, чтобы автоматизировать некоторые задачи.
Да, я вижу это, но каждый раз при пересборке возникают ошибки копирования:
## Любые пользовательские команды для выполнения после сборки
run:
- exec: echo "Начало пользовательских команд"
## Если вы хотите установить адрес электронной почты 'From' для вашей первой регистрации, раскомментируйте и измените:
## После получения первого письма о регистрации закомментируйте строку обратно. Она должна выполниться только один раз.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec: cp /shared/rr/run_badges.sh /etc/cron.d/.
- exec: cp /shared/rr/badges /etc/cron.d/.
- exec: echo "Конец пользовательских команд"
Я действительно мог бы извлечь их из URL-адреса, это интересная мысль.
Файлы действительно присутствуют на хосте:
# ls -al shared/rr/
badges run_badges.sh
#
Вот ошибка:
FAILED
--------------------
Pups::ExecError: cp /shared/rr/run_badges.sh /etc/cron.d/. failed with return #<Process::Status: pid 1457 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params "cp /shared/rr/run_badges.sh /etc/cron.d/."
e23ff12630c8058c4b36ee8673404dafbe6791ec61aa630f1224400eba4e75e0
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.