Докер-контейнер Windows работает в интерактивном режиме, нет способа остановить контейнер без его удаления, нет способа зафиксировать контейнер - PullRequest
0 голосов
/ 04 октября 2018

Я использую Windows Docker с контейнером Windows.

Я запускаю контейнер в интерактивном режиме, чтобы я мог запустить некоторые сценарии PowerShell, чтобы включить удаленное управление iis.Я пытался добавить эти сценарии в свой dockerfile, чтобы включить их в образ, но, похоже, они не будут зависать, если я не запустил их в powershell после запуска контейнера.

Я запускаю контейнер с

docker run -it --rm --name mycontainer --entrypoint powershell myimage

Затем, если я пытаюсь зафиксировать его после внесения необходимых изменений, я получаю ошибку о невозможности зафиксировать работающий контейнер в Windows,Поэтому я останавливаю контейнер

docker stop mycontainer

И затем, когда я ищу контейнер для фиксации, он исчезает.Я полагаю, что это как-то связано с запуском его с параметром -it.

Есть ли способ получить доступ к контейнеру powershell, внести изменения, а затем зафиксировать контейнер в новом образе, содержащем изменения, которые ясделал

1 Ответ

0 голосов
/ 04 октября 2018

Наконец нашел способ.Вместо того чтобы создавать контейнер с -it -rm, я теперь создаю его с помощью просто -d и использую docker exec powershell для запуска команд powershell.Затем я могу остановить контейнер и зафиксировать его в изображении, и новое изображение содержит все сделанные мной изменения.

...