찾다

 >  Q&A  >  본문

Docker는 처리를 위해 호스트의 요청을 각 컨테이너로 어떻게 전달합니까?

Docker를 가지고 놀기 시작한 지 며칠 안 됐어요.

예를 들어 웹 서버를 만들고, 호스트에 nginx를 배치하고, docker에 여러 개의 php-fpm 컨테이너를 구축한다면, 로드 밸런싱을 위해 nginx를 사용하여 컨테이너에 전달할 계획입니다(테스트용, 재미삼아) ). 그러다가 nginx 구성에 적힌 전달 주소가 쓰기 어렵다는 사실을 발견했습니다. 컨테이너가 다시 시작될 때마다 새로운 IP가 자동으로 재할당되므로 호스트 nginx 구성에 작성한 전달 주소가 잘못됩니다. . .

인터넷에서 컨테이너를 고정 IP로 설정할 수 있다는 내용을 많이 봤는데, 네트워크 카드를 직접 구해야 하는데, 완벽하지 않아서 고민이 많아요. 재시작 후 재할당된다고 하므로, 한 번 더 실행해야 합니다. . .

좋은 아이디어가 있으신가요? 답변해주세요

大家讲道理大家讲道理2806일 전708

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

  • 阿神

    阿神2017-04-25 09:03:25

    두 가지 방법:

    1. php 컨테이너는 -p를 사용하여 포트를 호스트로 전송한 다음 nginx가 이를 localhost:[매핑된 포트]

    2. 로 전달합니다.
    3. 컨테이너에 nginx를 넣고 php 컨테이너를 연결한 후 nginx를 linkname:port로 전달합니다

    회신하다
    0
  • 阿神

    阿神2017-04-25 09:03:25

    LZ는 호스트에서 nginx를 실행해야 하는 것 같습니다. 여기에 동적으로 업스트림을 변경할 수 있는 것이 있습니다. docker inspect과 결합하면 얻을 수 있습니다:

    https://github.com/yzprofile/...

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-25 09:03:25

    으아악

    이 명령으로 IP를 얻을 수 있습니다. nginx 구성을 직접 생성하는 자동화된 스크립트를 작성하세요

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