찾다

 >  Q&A  >  본문

Docker 호스트가 컨테이너의 서비스에 액세스할 수 없는 문제를 해결하는 방법은 무엇입니까?

1. 컨테이너에서 컨테이너 서비스에 접근하면 응답이 있는데, 호스트에서 컨테이너 서비스에 접근하면 응답이 없는데, 호스트는 컨테이너 nginx 서비스의 웰컴 인터페이스에 접근할 수 있게 됩니다. 다음은:

컨테이너의 컨테이너에 있는 서비스에 액세스하면 다음과 같이 응답합니다.

으아아아

호스트에서 컨테이너에 있는 서비스에 액세스할 때 응답이 없습니다.

으아아아


포트를 추가하지 않고 직접 액세스하면 nginx 서비스의 환영 인터페이스 코드를 얻을 수 있습니다:

으아아아

2. 컨테이너에서 서비스에 액세스할 수 있으므로 서비스가 시작됩니다. 컨테이너의 nginx 환영 인터페이스는 호스트에서 컨테이너의 포트 80에서 서비스에 액세스할 수 있음을 나타냅니다. 문제는 모직물인가요?

PHP中文网PHP中文网2803일 전1026

모든 응답(2)나는 대답할 것이다

  • 世界只因有你

    世界只因有你2017-04-27 09:05:17

    각 이미지는 외부에 제공할 수 있는 인터페이스를 정의합니다. Nginx 이미지는 기본적으로 포트 80과 443만 제공합니다. 당연히 컨테이너에서는 8080 포트에 액세스할 수 없습니다.

    지정된 포트를 열려면 docker create 또는 docker run에서 컨테이너를 생성할 때 --expose 매개변수만 전달하면 됩니다.

    --expose Expose a port or a range of ports

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-27 09:05:17

    지정된 포트를 호스트 시스템에 노출해야 합니다
    docker run -p 8080:80 이미지 이름

    회신하다
    0
  • 취소회신하다