«docker attach» и «docker start -ai» для работающего контейнера

В документе докера говорится, что docker attach используется для подключения к работающему контейнеру (https://docs.docker.com/engine/reference/commandline/attach/ ), а docker start используется для запуска остановленных контейнеров ( https: //docs.docker.com/engine/reference/commandline/start/).

Однако я попытался применить docker start -ai к работающему контейнеру, и похоже, что он может успешно подключиться к работающему контейнеру. Итак, мой вопрос: «Являются ли docker start -ai и docker attach одинаковыми, когда они используются для подключения к работающему контейнеру?».

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
2
0
288
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Смотрите код запуска докера:

Ln99:  resp, errAttach := dockerCli.Client().ContainerAttach(ctx, c.ID, options)
Ln136: dockerCli.Client().ContainerStart(ctx, c.ID, startOptions)

docker start состоит из отдельных операций attach и start, если контейнер уже запущен, просто пропустите эту start операцию, но attach там все равно работает.

Таким образом, они одинаковы в этом сценарии. Кстати, с октября 2014 года команда докеров предлагает использовать docker exec для входа в контейнер.

Другие вопросы по теме