• По какой причине может не стартовать контейнер в докере?

    Контейнер стартует и тут же закрывается.

    Потому, что по умолчанию там выполняется команда /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 не вылетит, а останется работать.
    Ответ написан