У меня ниже файл docker-compose.yml. В разделе command
я хотел бы оценить выражение curl
, прежде чем команда будет передана в механизм докера, т. Е. Сначала должен быть проверен мой curl, а затем мой контейнер должен работать с опцией -ip 10.0.0.2
.
version: '2'
services:
registrator:
image: gliderlabs/registrator:v7
container_name: registrator
volumes:
- /var/run/docker.sock:/tmp/docker.sock
command: ['-ip', '$$(curl -X GET -s http://169.254.169.254/latest/meta-data/local-ipv4)']
Это, однако, не оценивается, и мой вариант передается как -ip $(curl -X GET -s http://169.254.169.254/latest/meta-data/local-ipv4)
Однако соответствующая команда запуска docker правильно оценивает выражение, и мой контейнер правильно запускается с параметром -ip 10.0.0.2
:
docker run -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator:v7 -ip $(curl -X GET -s http://169.254.169.254/latest/meta-data/local-ipv4)