Сценарий ENTRYPOINT
получает CMD
в качестве аргументов. Вам нужно включить строку, чтобы сказать ей, чтобы она действительно выполняла команду, обычно exec "$@"
.
#!/bin/sh
if [ -n "$GCP_PROJECT_ID" ]; then
echo "REACT_APP_GCP_PROJECT_ID=$GCP_PROJECT_ID" >> /usr/app/.env
fi
exec "$@"
Если вы используете этот шаблон, вам не нужно --entrypoint
sudo docker run -e GCP_PROJECT_ID=... imagename cat /usr/app/.env
# should include the REACT_APP_GCP_PROJECT_ID line
В зависимости от того, что еще находится в файле, достаточно использовать docker run -v
, чтобы ввести файл конфигурации оптом, вместо того, чтобы пытаться создать его во время запуска.
sudo docker run -v $PWD/dot-env:/usr/app/.env imagename