попытайтесь переместить сложность команды в docker точку входа. Во-первых, вам нужно добавить следующую точку входа в ваш проект (сделать его исполняемым)
#!/bin/bash -e
case $1 in
web)
python xxx/main.py --port=$PORT --pg-host=$PG-HOST --pg-database=$PG-DATABASE --pg-user=$PG-USER --pg-password=$PG-PASSWORD
;;
*)
exec "$@"
;;
esac
exit 0
обновить файл docker для вашей службы
From base-image
COPY ./docker-entrypoint.sh /
ENTRYPOINT ["/docker-entrypoint.sh"]
обновить составить
version: '3'
services:
nginx-service-xxx:
image: service-xxx-nginx:latest
ports:
- 80:80
restart: always
service-xxx:
image: service-xxx:latest
environment:
- PORT=80
- PG-HOST=192.168.0.101
- PG-DATABASE=xxx
- PG-USER=postgres
- PG-PASSWORD=postgres
restart: always
command: web