두 개의 개별 Docker 컨테이너가 ZMQ IPC 소켓을 통해 통신 할 수 있습니까? 그렇다면 어떻게이 일을 성취 할 수 있습니까? 예를 들어Docker 컨테이너 간의 IPC 통신
:
도커 컨테이너 1은 ZMQ 응답 소켓을 만들고 ": // tmp를/SERVICE_NAME IPC"에 결합하는 응용 프로그램을 실행합니다.
도커 컨테이너 # 2은 ZMQ 요청 소켓을 만들고 "ipc : // tmp/service_name"에 연결하는 응용 프로그램을 실행합니다.
다음 명령은 두 개의 고정 표시기 컨테이너에서 응용 프로그램을 실행하는 데 사용됩니다
// Run container #1 (binds to "ipc://tmp/service_name")
docker run --name c1 -it container1
// Run container #2 (connects to "ipc://tmp/service_name")
docker run -it --link c1:container1 --name c2 container2
컨테이너를 실행 한 후, 나는 ZMQ (IPC) 연결을 설정할 수 없습니다입니다. 그러나, 나는 용기에서 용기 2, 핑 컨테이너 2에서 용기 (1)를 ping 할 수 있어요 1. 나는 또한 --ipc 명령을 사용했지만, 그것은 도움이되지 않았다
:
// Run container #1 (binds to "ipc://tmp/service_name")
docker run --name c1 --ipc=host -it container1
// Run container #2 (connects to "ipc://tmp/service_name")
docker run -it --link c1:container1 --ipc=container:c1 --name c2 container2
UPDATE를 : ZMQ TCP 소켓을 사용하여 두 개의 별도 Docker 컨테이너간에 통신 할 수는 있지만 여전히 IPC 소켓을 사용하여 통신 할 수 없습니다. 가능한가?
무엇을 스스로 조사 했습니까? 예를 들어 [this] (https://torusware.com/blog/2015/04/optimizing-communications-between-html/) 기사를 읽었습니까? –
직접 해보고 오류가 무엇인지 다시보고 왜 우리가 실제로 도움이 될만한 것이 있습니까? –
예, 나는 그 기사 @JeroenHeier를 읽었습니다. 나는 그것을 다시 읽고 나가 잃어버린 것이 있는지보기 위해 다시 시도 할 것입니다. – milenko