Предотвратить выход контейнера, условно

У меня есть эта точка входа в Dockerfile:

ENTRYPOINT ["r2g", "run"]

и я запускаю полученное изображение с:

docker run --name "$container" "$tag"

Большую часть времени я хочу, чтобы контейнер завершал свою работу - процесс r2g - это не сервер, а инструмент тестирования командной строки. Поэтому мой вопрос - если я хочу условно не допустить выхода из контейнера, есть ли флаг, который я могу передать docker run чтобы сохранить контейнер? Могу ли я добавить что-то в ENTRYPOINT, чтобы контейнер оставался в живых?

1 ответ

Решение

Единственный способ сохранить работоспособность Docker-контейнера - заставить его выполнить команду, которая не завершается.

В вашем случае, когда вы не хотите, чтобы контейнер выходил, вы можете запустить что-то вроде этого:

docker run --name "$container" "$tag" sh -c "r2g run && sleep infinity"

Таким образом, когда-то r2g Команда завершена, ваш контейнер будет ждать неопределенно долго и продолжит работу.

Другие вопросы по тегам