제목에서 알 수 있듯이 다른 포트( -p 8080:5000
)에 대한 네트워크 브리지를 사용하여 docker의 개발 컴퓨터에서 제대로 실행되는 docker 이미지가 있습니다. 하지만 서버에 배포하면 연결이 실패합니다.
-> 0.0.0.0:5000 IP에서 애플리케이션을 호스팅하지 않는 것을 제외합니다.
--network host
이미지를 사용할 때 정말 잘 작동합니다.
Plesk docker 확장 기능을 사용하고 싶습니다. 여기서 지원되는 유일한 동작은 Docker 브리지 네트워킹을 사용하는 것입니다.
서버가 실행 중입니다.
- Plesk => 도커 확장
- 운영체제 7
방화벽 설정에 몇 가지 문제가 있습니다(활성 방화벽 2개: 방화벽 및 Plesk 방화벽). 그러나 둘 다 비활성화해도 문제는 여전히 존재합니다.
-> 방화벽 영역 신뢰 문제를 해결합니다.
검색시 마지막으로 나온 답변은 네트워크 인터페이스 IP 범위 충돌..?이었습니다. 하지만 인터페이스 eth0(공용 IP), 로컬 루프백 및 docker0 하나만 사용하여 간단한 설정을 했습니다.
여기서 무엇이 잘못될 수 있나요? 이 문제를 추가로 해결하는 방법에 대한 아이디어가 있습니까? 나는 이 문제를 연구하는 데 많은 시간을 보낸 후에 이것을 생각해 냈습니다.
감사해요!
> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8c3d3f32b8ef savahdevelopment/savah_api "dotnet savah_api.dll" 11 minutes ago Up 11 minutes 0.0.0.0:8888->5000/tcp sharp_lamarr
b355e8fef0ec savahdevelopment/savah_api "dotnet savah_api.dll" 7 hours ago Up 14 minutes savah_api_prod
e38e1b01b039 savahdevelopment/savah_api "dotnet savah_api.dll" 7 hours ago Up 14 minutes savah_api_dev
> curl http://something.hostbeter.nl:5000/admin/test
YUUUUUUUUUUUUUUP!!
> curl http://something.hostbeter.nl:5100/admin/test
YUUUUUUUUUUUUUUP!!
> curl http://something.hostbeter.nl:8888/admin/test
curl: (56) Recv failure: Connection reset by peer
추가 정보:
netstat -tulp
작업자 컨테이너가 실제로 IPv6 주소에만 바인딩되어 있음을 알려줍니다. 하지만 IPv4를 사용한 외부 연결이 작동할까요? 그럼 이것은 네트워크와 관련된 것 같나요?