node.js - `npm install`在node:10.21.0-jessie-slim Docker Image上的package-lock.json失败

标签 node.js docker npm ssh debian-jessie

我正在尝试使用node:10.21.0-jessie-slim docker image npm安装一个具有git+ssh://git@github.com依赖项的项目。

我正在像这样运行ssh-keyscan:

RUN mkdir /root/.ssh \
  && ssh-keyscan github.com >> /root/.ssh/known_hosts

没有包锁,我可以安装依赖项。
但是,当存在包锁时,无法确定主机“github.com(140.82.114.3)”的真实性。

我发现使用包锁运行时,所使用的know_hosts文件是/home/node/.ssh/中的文件

因此,我将其添加到我的Dockerfile中:
ssh-keyscan github.com >> /home/node/.ssh/known_hosts

而且有效。但是我想知道为什么会这样。

最佳答案

当您的ssh配置文件将某些属性设置为true(例如CheckHostIPHashKnownHosts)时,就会发生这种情况,因此,如果将任何属性设置为true强制ssh验证主机,则ssh首先查看known_hosts,从而验证您的ssh配置文件。

 ~/. ssh/config and /etc/ssh/ssh_config

请看看https://www.ssh.com/ssh/config/

关于node.js - `npm install`在node:10.21.0-jessie-slim Docker Image上的package-lock.json失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62418125/

相关文章:

javascript - 尝试为我的 Electron 应用程序创建安装程序时生成未找到错误

python - Docker 构建似乎看不到 requirements.txt,即使它在同一目录中

asp.net - 如何在 Visual Studio 2017 中使用 NPM 并安装包?

javascript - 为什么设置 "No license field": true in your package. json 时 "private"警告消失

javascript - 如何将集合中的所有条目显示为 html (node.js)

docker - 如何使用 gitversion Docker 显示变量

javascript - 值得麻烦地提交 package-lock.json 吗?

node.js - 如何向Docker容器发送命令?

sql-server - 带有 VS 2012 和 SQL Server 2012 的 WIndows 8 上的 msnodesql

java - 在 tomcat Docker 容器上部署 .war