Aunque esto no es recomendable, es factible. El problema es pg_ctl
en RUN
la instrucción se ejecuta en el momento de la compilación, no en el contenedor. Necesitas ejecutarlo con CMD
.
Puedes tener un script como
pg_ctl start
psql --command "ALTER USER postgres WITH ENCRYPTED PASSWORD 'postgres';"
python3 main.py
COPY
el script en la imagen y al final del dockerfile, `CMD ["./script.sh"]