2017-02-13 8 views
0

내 질문은 도커 컨테이너 내부의 도커 - 기계 소켓에 연결할 수있는 방법입니까?도커 컨테이너에서 도커 - 머신으로 통신하는 방법은 무엇입니까?

내가 달성하고자하는 것은 API 게이트웨이를 dockerize하는 것이지만,이 API 게이트웨이는 다음과 같은 실행중인 컨테이너 발견 할 수는 고정 표시기 기계 소켓 통신 할 필요가 :

const machine = process.env.DOCKER_HOST 
const tls = process.env.DOCKER_TLS_VERIFY 
const certDir = process.env.DOCKER_CERT_PATH 

if (!machine) { 
    throw new Error('You must set the DOCKER_HOST environment variable') 
} 
if (tls === 1) { 
    throw new Error('When using DOCKER_TLS_VERIFY=1 you must specify the property DOCKER_CERT_PATH for certificates') 
} 
if (!certDir) { 
    throw new Error('You must set the DOCKER_CERT_PATH environment variable') 
} 

const dockerSettings = { 
    protocol: 'https', 
    host: machine.substr(machine.indexOf(':', 0) + 3, machine.indexOf(':', 6) - 6), 
    port: parseInt(machine.substr(-4), 10), 
    checkServerIdentity: false, 
    ca: fs.readFileSync(certDir + '/ca.pem'), 
    cert: fs.readFileSync(certDir + '/cert.pem'), 
    key: fs.readFileSync(certDir + '/key.pem'), 
    version: 'v1.25' 
} 

이것은 localhost에서 실행되며 env 변수에 액세스 할 수 있으며 고정식 머신 소켓에 액세스 할 수 있습니다. 내가 의사 소통 방법

는 다음

const docker = new Docker(dockerSettings) 

같은 libarary dockerode에서하지만 난이 고정 표시기 명령을 실행 할 수 있도록 컨테이너와이 소켓을 공유 할 컨테이너의 필요성을 넣어 한 번이입니다 nodej에서 일종의 도커 서비스 발견을하기위한 것이다.

답변

0

내가 쓴대로 another answer, 컨테이너를 시작할 때 게이트웨이를 설정할 수 있습니다. node.js 앱에 액세스하거나 컨테이너에서 호스트 IP를 가져 오는 일종의 프록시를 만듭니다.

또한, 과 같은 도커 컨테이너 검색을 처리하기위한 전용 도구를 살펴 보겠습니다.

관련 문제