Для отладки попробуйте выполнить:
docker exec -it <name-of-the-container> <command>
В вашем случае это означает: docker exe c -it test sh
Это должно открыть оболочку внутри контейнер. Затем введите:
printenv
Это напечатает все переменные окружения и их значения (таким образом, вы увидите, если переданные вами значения присутствуют)
Будет проблема, если контейнер происходит сбой при запуске (в этом случае невозможно использовать docker exe c).
СОВЕТ: Используйте файл .env, расположенный в том же каталоге, что и docker -compose.yml (или любой другой Ваш docker -компонентный файл - это) для передачи переменных.
.env:
KEY1=value1
KEY2=value2
В вашем случае это может выглядеть примерно так:
HOST=1.2.3.4
USER=sa
PASSWORD=42
PORT=4242
DB_NAME=mydb
Когда ваш бег:
docker-compose up
docker -compose будет искать этот файл .env и вставлять значения из этого файла
Удачи