두 컨테이너 (c1과 c2)를 실행 중입니다.도커 컨테이너가 다른 도커 컨테이너가 열어 놓은 포트에 연결할 수 없습니다.
C1 포트 2181에서 수신 대기하고 C2 포트에 2181
문제를 연결하는 것은 C2 포트는 말했다에 C1에 연결하는 데 실패하고 나는 이유를 모르겠어요입니다.
컨테이너에 C1에 연결하는 코드를 실행할 때 제대로 작동합니다. 그래서 나는 C1이 실행 중이고 포트가 올바르게 노출되어 있음을 알고 있습니다. 응용 프로그램을 자신의 컨테이너에 놓으면 포트가 더 이상 보이지 않습니다.
나는 C2 내에서 lsof를 시도했지만 나열되지 않았기 때문에 실패한 이유가 있습니다.
내가 다음에 볼 필요가있는 곳의 단서는 인정 될 것입니다.
나는 용기가 기본적으로 동일한 네트워크 그룹에 있어야하므로 고정 표시기가-구도를 사용하고 있었다:
C1에서version: '2'
services:
c1:
build: .
volumes:
- .:/code
depends_on:
- c2
c2:
image: jplock/zookeeper
ports:
- "2181:2181"
- "2888:2888"
- "3888:3888"
, 개시는 URI 로컬 호스트를 사용하고 있습니다 :
여기내 작성 파일입니다 : 2181
코드를 알려주십시오. 모든 것이 아니라 문제를 정확하게 재현하기에 충분합니다. 특히 두 번째 컨테이너에 연결하기 위해 어떤 주소를 사용하고 있습니까? – larsks
아, 좋은 점은 호스트 이름 대신 작성 파일에 나열된 컨테이너의 이름을 사용해야한다는 것입니다. 나는 여전히 localhost를 참조하고있다. 나는 그것을 밖으로 시도하고 알려 드리겠습니다. – JamesC
감사합니다. Larsks 당신이 저를 도왔습니다. – JamesC