Докер Compose держать контейнер работает
Я хочу запустить сервис с помощью docker-compose и оставить контейнер работающим, чтобы я мог получить его IP-адрес через 'Docker Inspect'. Однако контейнер всегда выходит сразу после запуска.
Я пытался добавить "command: [" sleep "," 60 "]" и другие вещи в docker-compose.yml, но всякий раз, когда я добавляю строку с "command: ...", я не могу вызвать "docker-compose up" как я получу сообщение "Не удается запустить контейнер ..... Системная ошибка: недопустимый символ 'k' ищет начало значения"
Я также попытался добавить «CMD sleep 60» и еще много чего в самом Dockerfile, но эти команды, похоже, не выполняются.
Есть ли простой способ сохранить контейнер в живых или решить одну из моих проблем?
РЕДАКТИРОВАТЬ: Вот файл 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 ИЛИ добавляю «команду ...» в При создании файла я получаю вышеуказанную ошибку с недопустимым символом. Если я удаляю обе команды, это работает безупречно.