如何从码头集装箱到码头机器进行通信?
问题描述:
我的问题是如何能够连接到码头集装箱内的码头机插座?如何从码头集装箱到码头机器进行通信?
我想达到什么是dockerize一个API网关,但这个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'
}
这在本地主机上运行,并且可以访问env变量并可以访问docker-machine套接字。
我如何沟通是从libarary dockerode
像下面
const docker = new Docker(dockerSettings)
但一旦我把它放在一个容器中需要共享这个插座与容器,以便能够执行泊坞窗命令,这是用于在nodejs中进行一种docker服务发现。