Как вы выходите из Docker?
Предположим, вы запускаете Docker-контейнер в интерактивном режиме, например так:
docker run -it ubuntu bash
Таким образом, вы получаете интерактивную оболочку и сразу же входите в ОС, работающую как контейнер.
Чтобы выйти из этого запущенного контейнера, вы можете использовать ctrl + c, ctrl + d или ввести exit в терминале.
Здесь есть одна проблема. Если вы выйдете из контейнера таким образом, ваш контейнер также остановится.
andreyex@nuc:~$ docker run -it ubuntu bash root@1385a55c8c7a:/# ls bin dev home lib64 mnt proc run srv tmp var boot etc lib media opt root sbin sys usr root@1385a55c8c7a:/# exit exit andreyex@nuc:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Как вы можете видеть на выводе выше, команда docker ps не показывает запущенные контейнеры.
Здесь вы можете отсоединить контейнер, нажав ctrl + p и ctrl + q один за другим . Мы знаем, что это странное сочетание клавиш для пользователей Linux, но это то, как вы можете сделать это легко.
При отсоединении, ваш контейнер будет продолжать работать, даже если вы выйдете из контейнера. Ваш сеанс интерактивного докера теперь находится в режиме демона.
Вы можете проверить это с помощью команды docker ps, чтобы увидеть ее в списке запущенных контейнеров.
Когда вы захотите использовать его снова, вы можете снова прикрепить контейнер.
Мы всегда предпочитаем запускать контейнеры в режиме демона, например так:
docker run -it -d docker_image_name bash
Таким образом, контейнер запускается и работает в фоновом режиме. Флаг i означает интерактивный, а флаг t означает tty. В общем, это дает вам интерактивную оболочку, которая запускает bash, но она не доступна сразу.
Вы можете ввести работающий контейнер следующим образом:
docker exec -it container_id bash
Надеюсь, этот быстрый совет для Docker пригодился вам. Следите за новыми советами по Docker.
Если у вас есть какие-либо вопросы или предложения, пожалуйста, не стесняйтесь спрашивать в разделе комментариев.