Я пытаюсь возиться с контейнерами Microsoft для докеров и сталкиваюсь с проблемой, когда хочу фактически выполнять команды для своих контейнеров. Я сделал следующее, чтобы попасть сюда:
- Загрузите и установите бета-версию Docker Desktop для Windows (в частности,
1.12.3-beta30.1 (8711)
), чтобы я мог «переключиться на контейнеры Windows». - Перезагрузил мою машину
- Извлечены контейнеры microsoft/nanoserver и microsoft/windowsservercore.
- Поместите докер в путь
- Выполните шаги Hyperv отсюда: Контейнеры Windows в Windows 10
Теперь, когда я запускаю docker run -it microsoft/nanoserver cmd
, powershell выглядит так:
Он делает то же самое для ядра сервера или нано-сервера. На самом деле он никогда не запускал командную строку. Он просто висит здесь, и я не могу ничего напечатать. Вот дополнительная информация для моих изображений: . Итак, как я могу начать выполнение команд в моем контейнере?
ОБНОВЛЕНИЕ: я думаю, что моя настоящая проблема заключается в том, что я не могу подключиться к контейнеру. Я начал сначала и сделал следующее, чтобы понять это:
- Удалить все существующие контейнеры
docker run microsoft/windowsservercore
- используйте
docker ps
, чтобы получить имя контейнера docker exec [container_name] cmd
powershell показывает C:! Таким образом, команда выполняется в контейнереdocker exec [container_name] ping google.com
Он пингуется! хмdocker exec -it [container_name] cmd
Зависает. Никакая подсказка никогда не запускается.- вырваться из висящей команды
- Посмотрите, что он делает
Я вижу, что часть этого заключается в том, что он пытается присоединить docker attach [container_name]
Ничего не происходит. Powershell просто зависает
docker run -it microsoft/nanoserver powershell
, запуск занял несколько секунд, но в конце концов я получил оболочку и смог запустить пару команд powershell, чтобы убедиться, что она работает. - person R0MANARMY   schedule 30.11.2016