У меня есть Dockerfile, который создает образ, содержащий пользовательское консольное приложение:
FROM ubuntu:bionic
# Some non-relevant steps...
CMD bin/my-console-app
my-console-app
- это простое консольное приложение, которое, хотя оно и работает, обычно дает вам возможность вставлять команды.
Например
./my-console-app
my-console> some-command
Some result
my-console> some-other-command
Some other result
если я запускаю созданный мной контейнер с помощью вышеуказанного Dockerfile, используя -d
, все в порядке:
docker run --name my-app --network host -d myapp
используя сеть Я вижу, что консольное приложение работает правильно.
Однако, если я запускаю его без -d
, например:
docker run --name my-app --network host myapp
тогда мой терминал сойдет с ума, как будто кто-то постоянно нажимает ENTER:
my-console>
my-console>
my-console>
my-console>
my-console>
my-console>
my-console>
my-console>
...
и это продолжается вечно. Я не могу вставить команду в консольное приложение.
Почему это происходит? Что я должен сделать, чтобы предотвратить это?