Контейнер стартует и тут же закрывается.
Потому, что по умолчанию там выполняется команда
/bin/bash, которая без терминала тут же заканчивает исполнение.
Контейнер вы запускаете в режиме демона (ключ
-d)
Будь там не
bash а какая-то долгоиграющая команда, mysqld или nginx, всё бы работало дольше.
Наверное, вам нужно запустить контейнер и «оказаться» в его шелле:
docker run -it --rm ubuntu
-i интерактивный режим
-t подключает виртуальный терминал
--rm удалит контейнер сразу, как вы из него выйдете
Вот два варианта запустить Ubuntu, чтобы контейнер остался висеть:
docker run -d ubuntu tail -f /dev/null – тут команда-пустышка, которая будет выполняться бесконечно;
docker run -t -d ubuntu – тут подключён виртуальный терминал и bash не вылетит, а останется работать.