Tenho alguns outros containers Docker e executo etapas como estas:
# Copia o conteúdo do diretório atual para o container em /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/
# Instala os pacotes necessários especificados em requirements.txt
#RUN pip install -r requirements.txt
# É necessário reiniciar o nginx após os comandos COPY?
RUN
RUN apt-get update \
&& apt-get install -y nano \
&& rm -fr /var/lib/apt/lists/*
Preciso realizar etapas semelhantes no meu container do Discourse, mas onde está o Dockerfile? Li que talvez eu pudesse adicionar isso ao final de containers/app.yml, mas não tenho certeza.
Eu não quero fazer exatamente a mesma coisa. Eu apenas tenho scripts shell e um crontab que quero copiar para dentro do container para que eu possa automatizar algumas tarefas.
Sim, eu vejo isso, mas toda vez que eu recrio, obtenho erros de cópia:
## Quaisquer comandos personalizados para executar após a construção
run:
- exec: echo "Início dos comandos personalizados"
## Se quiser definir o endereço de e-mail 'De' para seu primeiro registro, descomente e altere:
## Após receber o primeiro e-mail de inscrição, comente a linha novamente. Ela só precisa ser executada uma vez.
#- 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 "Fim dos comandos personalizados"
De fato, eu poderia buscá-los a partir de uma URL; essa é uma ideia.
Os arquivos realmente estão presentes no host:
# ls -al shared/rr/
badges run_badges.sh
#
Aqui está o erro:
FALHOU
--------------------
Pups::ExecError: cp /shared/rr/run_badges.sh /etc/cron.d/. falhou com retorno #<Process::Status: pid 1457 exit 1>
Local da falha: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec falhou com os parâmetros "cp /shared/rr/run_badges.sh /etc/cron.d/."
e23ff12630c8058c4b36ee8673404dafbe6791ec61aa630f1224400eba4e75e0
** FALHA NA INICIALIZAÇÃO ** por favor, role para cima e procure por mensagens de erro anteriores; pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.