Я хочу запустить службу с docker-compose и оставить контейнер работающим, чтобы я мог получить его IP-адрес с помощью docker inspect. Однако контейнер всегда выходит сразу после запуска.
Я пытался добавить «command: [« sleep »,« 60 »]» и другие вещи в docker-compose.yml, но всякий раз, когда я добавляю строку с «command: ...», я не могу вызвать «docker-compose up» так как я получу сообщение "Не удается запустить контейнер ..... Системная ошибка: недопустимый символ 'k' ищет начало значения"
Я также попытался добавить «CMD sleep 60» и еще много чего в сам Dockerfile, но эти команды, похоже, не выполняются.
Есть ли простой способ сохранить контейнер живым или решить одну из моих проблем?
EDIT: вот файл Compose, который я хочу запустить:
version: '2'
services:
my-test:
image: ubuntu
command: bash -c "while true; do echo hello; sleep 2; done"
Он работает нормально. Если я начну с docker-compose под OS X, но если я попробую сделать то же самое под Ubuntu 16.04, он выдаст мне сообщение об ошибке выше.
Если я попробую использовать подход с Dockerfile, Dockerfile будет выглядеть так:
FROM ubuntu:latest
CMD ["sleep", "60"]
Который, кажется, ничего не делает
РЕДАКТИРОВАТЬ 2: Я должен исправить себя, оказалось, что это была та же проблема с Dockerfile и docker-compose.yml: каждый раз, когда я добавляю «CMD ...» в Dockerfile ИЛИ добавляю «command ...» в файл набора, я получаю ошибку выше с недопустимым символом. Если я удалю обе команды, все будет работать безупречно.