node.js 请求 docker api 总是给出错误 400

node.js request to docker api gives always error 400

当我尝试连接到 docker api 时,我总是收到错误 400。 当我用 curl 尝试时,我得到了回应。

const request = require('request');


request('http://unix:/var/run/docker.sock:/v1.37/info', (error, response, body) => {
        console.log('error:', error);
        console.log('statusCode:', response && response.statusCode);
        console.log(body);
});

root@e014aa4c09ad:/docker-api# node test.js
error: null
statusCode: 400
400 Bad Request: malformed Host header

根据 https://github.com/request/request/issues/2327#issuecomment-298317737,您需要将 Host header 设置为空。

  headers: {
    'host' : null
  },