2017-12-03 35 views
0

6 개의 호스트와 15 개의 컨테이너에서 실행중인 swarm이 있습니다. 하나의 액세스 포인트가 포트 3010으로 열려 있습니다.Docker : 로컬 컨테이너에서 로컬 swarm 포트로 연결하는 방법

웜의 노드 인 모든 호스트에는 3 개의 도커 컨테이너가있는 로컬 격리 네트워크가 있습니다. 각 호스트에서이 컨테이너 중 하나가 게시 포트 3010에 연결하려고합니다.

저는 현재 해당 컨테이너를 실행중인 해당 호스트에서 포트를 사용하고 싶습니다. 나는 이것이 현명한 지 모른다.

도커 컨테이너에서 로컬 swarm 포트에 연결하는 데 사용할 호스트 이름을 어떻게 해결할 수 있습니까? 로컬 호스트 및 127.0.0.1을 사용할 수 없습니다. 나는 떼 지어 오버레이 네트워크에 컨테이너를 연결할 수는 있지만 로컬 격리 네트워크 때문에 컨테이너를 시작할 때 불가능합니다.

답변

0

로컬 웜 포트에 연결하기 위해 도커 컨테이너에 사용할 호스트 이름을 어떻게 해결할 수 있습니까?

서비스 이름입니다.
예. docker service create --name blue --network dev markuman/color
다음 당신은 정확히 이름 ID를 알아내는와 함께이 서비스 컨테이너에 무관 할 수있을 때

docker ps| grep blueeb46c52d0568  markuman/color:latest 
"/bin/sh -c '/bin/..." 51 seconds ago  Up 49 seconds  80/tcp    blue.1.o5w76smq3kh5jlomltf6yohj3 

단순히 그것 뿐이다

docker exec -ti blue.1.o5w76smq3kh5jlomltf6yohj3 bash 

을한다. 거기에서 동일한 네트워크에 할당 된 다른 서버로 ping 또는 ssh를 수행 할 수 있습니다.
예. docker service create --name apache ...이 동일한 네트워크에서 실행중인 경우 ping apache을 수행하십시오. 이상 충분합니다.

+0

스웜 서비스는 이미 다른 네트워크에 있습니다. 호스트에는 swarm과 local이라는 두 가지 네트워크가 있습니다. – ajlind