Ho altri container Docker e eseguo passaggi come questi:
# Copia il contenuto della directory corrente nel container in /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/
# Installa eventuali pacchetti necessari specificati in requirements.txt
#RUN pip install -r requirements.txt
# è necessario riavviare nginx dopo i comandi COPY?
RUN
RUN apt-get update \&\& \
apt-get install -y nano \&\& \
rm -fr /var/lib/apt/lists/*
Devo eseguire passaggi simili per il mio container Discourse, ma dove si trova il Dockerfile? Ho letto che forse potrei aggiungerli alla fine di containers/app.yml, ma non ne sono sicuro.
Non voglio fare esattamente la stessa cosa. Ho solo degli script shell e un crontab che voglio copiare nel container per automatizzare alcune attività.
Sì, lo vedo, ma ogni volta che ricompilo ottengo errori di copia:
## Comandi personalizzati da eseguire dopo la compilazione
run:
- exec: echo "Inizio dei comandi personalizzati"
## Se vuoi impostare l'indirizzo email 'From' per la tua prima registrazione, decommenta e modifica:
## Dopo aver ricevuto la prima email di iscrizione, ricommenta la riga. Deve essere eseguita solo una volta.
#- 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 "Fine dei comandi personalizzati"
Potrei effettivamente recuperarli da un URL, è un’idea
I file sono effettivamente presenti sull’host:
# ls -al shared/rr/
badges run_badges.sh
#
Ecco l’errore:
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.
La directory /shared all’interno del container è mappata, per impostazione predefinita, su /var/discourse/shared/standalone, quindi manca una directory lì.