Я новичок в Docker, поэтому, пожалуйста, будьте добры, но я тестирую его на образе Windows 10 в Azure (я знаю, что могу запустить его напрямую, но сначала я хотел попробовать его на виртуальной машине).
У меня есть свежий образ Windows 10, на котором я установил Docker для Windows 2.0.0.Примечание. Я не отмечал опцию использования контейнеров Windows вместо контейнеров Linux.
После установки (и перезагрузки) мне было предложено установить функции Hyper-V и контейнеры (вызывая перезапуск).
После того, как все это было установлено, я открываю административное окно PowerShell, чтобы загрузить Jenkins:
docker run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts
Это дало мне ошибку:
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: driver failed programming external connectivity on endpoint goofy_lederberg (deaba2deeea0486c92ba8a1a32740295f03859b1b5829d39e39eff0b24613ebf): Error starting userland proxy: Bind for 0.0.0.0:50000: unexpected error Permission denied.
Я думал, что это было странно, так как 50000 не было 't порт, который я ожидал использовать, изменение его на другие порты (50001) вызвало ту же ошибку.
Running:
netstat -a -n -o
Показано, что порт не используется.
Если я удаляю -p 50000: 50000 из команды, она может связать и запустить Jenkins, но я предполагаю, что для правильной работы этого сопоставления портов требуется.
Предыдущие сообщения предлагали остановить Всемирную паутинуСлужба публикации, но она не установлена.
Других запущенных контейнеров Docker нет.
Я предполагаю, что порт используется или что-то останавливает сопоставление портов.
Если у пользователя есть разрешение на создание привязки порта на своем терминале, есть ли какие-либо другие методы, кроме netstat, для определения того, связано ли что-то с портом - что-то внутреннее с процессом проверки докера или что-то на уровне операционной системы хоста?