Мы пытаемся запустить контейнер fargate на AWS ECS.В определении контейнера у нас есть
"command": [
"/bin/bash",
"-c",
"\"envsubst < /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'\""
]
Я также пытался:
"command": [
"/bin/bash",
"-c",
"envsubst < /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'"
]
Используя docker run
, мы успешно использовали бы:
docker run -p 8000:80 -e "VAR1=somevalue" -d nginx-sample:latest /bin/bash -c "envsubst < /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'"
И в кубернетахworld (который также работает):
containers:
env:
- name: VAR1
value: "somevalue"
command: ["/bin/bash"]
args: ["-c", "envsubst < /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'"]
Мы не можем заставить это работать до сих пор в AWS Fargate.Мне не ясно, как мы должны правильно аргументировать.Контейнеры, по-видимому, выходят до возможности запуска, но очевидных сообщений журнала нет, поэтому не совсем понятно, почему.Я думаю, что-то не так с синтаксисом, когда передаются аргументы команды /bin/bash -c
.