我在我的一台服务器上设置并运行了Docker,可以像这样远程连接到它:
docker --tlsverify -H tcp://web2.webcom.dk:4243 images
我用这个和这个得到它成立.
我想做的是能够通过Node.js连接到它并尝试使用dockerode,这对我来说似乎是最好的选择.
这是我的代码:
Docker = require 'dockerode' docker = new Docker host: 'tcp://web2.webcom.dk' port: 4243 tls: true tlscacert: '/Users/jacob/.docker/ca.pem' tlscert: '/Users/jacob/.docker/cert.pem' tlskey: '/Users/jacob/.docker/key.pem' tlsverify: true container = docker.getContainer '826544226fdc' container.start (err, data) -> return console.error err if err? console.log data
但这不起作用,因为我收到此错误:
{ [Error: connect ECONNREFUSED] code: 'ECONNREFUSED', errno: 'ECONNREFUSED', syscall: 'connect' }
有任何想法吗?
UPDATE
这适用于本地:
Docker = require 'dockerode' docker = new Docker host: '192.168.59.103' port: 2375 socketPath: false docker.run 'ubuntu', ['bash', '-c', 'uname -a'], process.stdout, (err, data, container) -> return console.error err if err?
但如果我使用我的远程主机IP和端口,我得到这个:
{ [Error: Parse Error] bytesParsed: 0, code: 'HPE_INVALID_CONSTANT' }
如何连接到我的远程主机?