Это нормально.
Вы запускаете контейнер ubuntu с bash
в качестве команды (, таким образом, root process ). Суть в том, чтобы сохранить bash в живых , вам необходимо подключить его к терминалу. Вот почему, когда вы хотите получить a bash в контейнере, вы используете -ti
с вашей командой:
docker container exec -ti [my_container_id] bash
Так что если вы хотите сохранить вашу Ubuntu контейнер активен и не хотите присоединять его к терминалу, вам придется использовать процесс, который будет оставаться в живых столько, сколько вы захотите.
Ниже приведен пример с sleep infinity
в качестве основного процесса
version: "3"
services:
ubuntu:
container_name: ubuntu
image: ubuntu
restart: on-failure
command: ["sleep","infinity"]
В этом примере ваш контейнер будет работать бесконечно долго.