IT박스

사용자 영역 프록시 시작 오류 : 0.0.0.0:80에 대한 바인딩 : 예기치 않은 오류 권한이 거부되었습니다.

itboxs 2020. 12. 15. 08:26
반응형

사용자 영역 프록시 시작 오류 : 0.0.0.0:80에 대한 바인딩 : 예기치 않은 오류 권한이 거부되었습니다.


Windows 10 Pro에서 최신 Docker CE, 17.09를 실행하고 있으며 두 가지 다른 예제를 사용하여 Permission denied를 받고 있습니다.

Docker 사이트 예 : docker run -d -p 80:80 --name webserver nginx

AWS 사이트 Docker 예 : docker run -p 80:80 hello-world

둘 다 동일한 오류를 반환했습니다.

docker : 데몬의 오류 응답 : 드라이버가 엔드 포인트 XXXXX 에서 외부 연결을 프로그래밍하지 못했습니다 . userland 프록시 시작 오류 : 0.0.0.0:80에 대한 바인딩 : 예기치 않은 오류 권한이 거부되었습니다.


Windows 10 Pro에서 내 문제를 해결했는데 어떻게 든 World Wide Web 게시 서비스를 켰습니다. 그것을 발견하는 데 시간이 걸렸습니다 netstat -a -n. 어딘가에 / 어떻게 든 : 80 리스너가 있음을 주목 한 후 . 바보 나. 종료하면 포트 80은 괜찮 았습니다.


다음 명령을 사용하여 포트를 변경하십시오.

docker container ls //show the container infos, note the ports info.

docker stop webserver

docker rm webserver  //shut down currently webserver

docker run -d -p 8080:80 --name webserver nginx (or 8000:80)

마지막으로 localhost : 8080을 입력하여 브라우저에서 성공적으로 연결되었는지 확인합니다.

여기에 이미지 설명 입력


문제는 같은 범용 포트입니다 80, 443, 22.. (일반적으로 포트에 < 1024) 시스템 보호 당신이 권한을 사용할 필요가 있도록하며, 여기에는 시스템 관리자이어야하며 관리자 권한으로 명령을 실행하기에 충분합니다.

도움이되지 않고 오류가 변경되지 않는 경우 :80와 같이 다른 포트를 사용해 볼 필요가 :8080없다면 문제가 더 심해집니다.


macOS Mojave 버전 10.14.2에서이 명령은 저에게 효과적이었습니다.

sudo apachectl stop

이 명령을 실행하기 전에 다음을 실행하십시오.

sudo lsof -i -P | grep “LISTEN"

httpd:80들어 리스너의 식별자 인지 확인하십시오 .

두 번째 줄은 포트 : 80의 httpd 리스너입니다.

그렇다면 실제로 문제를 일으키는 것은 Mac 아파치입니다.


취해야 할 첫 번째 조치는 다음 명령을 실행하는 것입니다.

netstat -aon | findstr [port#]

이것은 주어진 포트에서 프로세스가 실행 중인지 알려줍니다. 이 경우 다음 명령을 사용하여 프로세스를 종료 할 수 있습니다.

taskkill /PID [PID] /F

그러면 해당 포트를 사용하는 프로세스가 종료됩니다. 그러면 새 프로세스를 포트에 바인딩 할 수 있습니다.

또한 netstat -aon사용하려는 포트에 대해 프로세스가 실행 중이라는 메시지를 반환하지 않았지만 실제로 실행중인 프로세스가 포트에서 새 프로세스를 실행할 수 없었던 때도있었습니다. 다음과 같이 문제를 해결할 수있었습니다.

네트워킹을 사용하여 안전 모드에서 Windows 시작

powershell / cmd에서 다음 명령을 실행합니다.

netsh int ipv4 add excludedportrange protocol=tcp startport=[PORT] numberofports=1

이렇게하면 포트가 예약되므로 일반 Windows 모드로 다시 부팅 할 때 응용 프로그램이 포트를 사용하기 전에 훔치지 않습니다.


이 오류가 발생한 이유는 포트가 이미 사용 중이었기 때문입니다. 다른 포트로 변경했는데 더 이상이 오류가 표시되지 않습니다.


포트는 디버깅하지 않고 VisualStudio에서 사용 중입니다. VS를 닫은 다음 다시 엽니 다.


나는 최근에 오래된 프로젝트를 유지하기 위해 도커 환경을로드하는 동안이 문제를 발견했습니다. 필자의 경우 Apache의 기본 인스턴스는 최근 OS 업데이트 후 Mac에서 실행 중이었고 포트 80을 사용할 수 있기 전에 종료해야했습니다. 다음 명령으로 종료 할 수 있습니다.

sudo /usr/sbin/apachectl stop

여전히 문제가있는 경우 다음 명령을 사용하여 주어진 포트 (이 경우 80)에서 실행중인 항목의 PID를 볼 수 있습니다.

lsof -t -i :80

kill 명령을 사용하여 해당 포트에서 실행중인 모든 것을 종료 할 수 있습니다. 중요한 것을 죽이지 않도록하십시오!

kill $(lsof -t -i :80)


This helped me. The port mentioned in the error message indeed was within one of reserved port ranges: Windows can't bind to port above 49690


On Windows 10 Pro running Docker command from a CMD Window with As Administrator, I still have the issues (as per @mikael-chudinov above). I really want to use port 80 so the other answers are not suitable for me.

Please see this blog post by Jens at www.jens79.de

From powershell, run the command:

Get-NetTCPConnection -LocalPort 80 | Format-List

This for me showed up a single process with pid = 4

In System monitor this is the "System" process, but as per the article listed above, it is actually IIS running as "World Wide Web Publishing Service".

Assuming that you don't need IIS running, in the Windows Services console, Stop and Disable "World Wide Web Publishing Service", then try again.


I also have the same issue. If a proxy is already installed on your system, then the container port is surrounded by a proxy and you need to use a proxy to run the container once and you will not need to do this for the next time.


The problem is you are not having permission to run image in port 80. To do so add --user root in your docker run command. This will provide root privileges and it will run.


Had same issue, my container just would not start and display following error msg when trying to start the container:

데몬의 오류 응답 : 드라이버가 엔드 포인트에서 외부 연결을 프로그래밍하지 못했습니다. ..... 사용자 영역 프록시 시작 오류 : 0.0.0.0:1521에 대한 바인딩 : 예기치 않은 오류 권한이 거부되었습니다.

오라클 컨테이너를 시작하려면 다음 명령을 사용하십시오.

도커 실행 -d -p 1521 : 1521 ...

나를 위해 제대로 제거되지 않은 제거 된 Oracle 인스턴스의 결과라고 생각합니다. 포트가 아직 사용 중입니다. 그러나 단순히 다른 포트로 변경하면 아래와 같이 문제가 해결되었습니다.

도커 실행 -d -p 1523 : 1521 ...


호스트 머신의 nginx가 시작되었는지 확인하고 중지합니다.

sudo service nginx stop

참조 URL : https://stackoverflow.com/questions/46533482/error-starting-userland-proxy-bind-for-0-0-0-080-unexpected-error-permission

반응형