Я давно не публиковал на SO, надеюсь, я не нарушаю никаких правил.
У меня есть переменная окружения в моем ~/.bash_profile
, экспортированном, как показано ниже, и я обязательно запустил source ~/.bash_profile
:
export HOSTNAME=some-name
А вот так выглядит мой docker-compose.yml
:
version: '3'
services:
someservice:
build:
context: .
dockerfile: ./Dockerfile
image: ...
container_name: ...
restart: unless-stopped
hostname: "someservice.${HOSTNAME:?Error: env var HOSTNAME is not defined or is empty}"
...
Если я запусту docker-compose up -d
, я получу следующую ошибку:
ERROR: Invalid interpolation format for "hostname" option in service "some-service":
"someservice.${HOSTNAME:?Error: env var HOSTNAME is not defined or is empty}"
Если я заменю HOSTNAME
выше на some-name
, я получу следующую ошибку:
Starting someservice ... error
ERROR: for someservice Cannot start service: OCI runtime create failed:
container_linux.go:346: starting container process caused "process_linux.go:449:
container init caused \"sethostname: invalid argument\"": unknown
ERROR: Encountered errors while bringing up the project.
Любая идея, почему я получаю ошибку и как устранить ее и / или исправить ее. ? Спасибо огромное!
Edit1: исправлена опечатка в моем export
Edit2: это может помочь при устранении неполадок: удаление части ERROR
из файла yaml устранило проблему. Итак, по моему docker-compose.yml
у меня просто есть:
...
hostname: "someservice.${HOSTNAME}
...