Embora isso não seja recomendado, é factível. O problema é
pg_ctl em RUN instrução é executada em tempo de compilação, não no contêiner. Você precisa executá-lo com CMD . Você pode ter um script como
pg_ctl start
psql --command "ALTER USER postgres WITH ENCRYPTED PASSWORD 'postgres';"
python3 main.py
COPY o script na imagem e no final do dockerfile, `CMD ["./script.sh"]