【发布时间】:2019-01-28 12:21:07
【问题描述】:
我正在尝试设置基于 Linux 的 Docker 容器来运行 Angular Web 应用程序,如 this question 中所述(警告:长!)。我已经确定我遇到的问题源于尝试将 NPM 作为 Docker 容器设置的一部分安装失败。
当我 bash 进入容器并运行本应执行此操作的命令时:
wget -O- https://deb.nodesource.com/setup_6.x
...我收到一个错误:
错误:'deb.nodesource.com' 的证书不受信任。
错误:“deb.nodesource.com”的证书没有已知的颁发者。
我希望能够以正确的方式对那个问题进行排序,但现在我只是将--no-check-certificate 添加到命令中,从而绕过了该问题。
现在,当我将该设置脚本通过管道传输到 bash 时出现另一个错误:
当前不支持标识为“stretch”的发行版,如果您认为这不正确或希望您的发行版获得支持,请通过 https://github.com/nodesource/distributions/issues 联系 NodeSource
按照该消息中的链接,我看到了一堆问题,其中只有一些是相关的。然而,一些额外的谷歌搜索把我带到了FAQ,这反过来又把我指向了issue #9,它......有很多人提出了不同的解决方案,并提到了其他问题。 :-(
主要建议似乎是使用sudo -E如下:
wget -qO- https://deb.nodesource.com/setup_6.x | sudo -E bash -
...但我没有sudo。 :-(
更新:我认为wget 的第一个问题和第二个问题具有相同的根本原因。节点设置脚本对某个 URL 执行 curl 以测试我是否使用受支持的版本,这也由于 HTTPS 证书问题而失败。
如果我这样做:
curl -L https://deb.nodesource.com/setup
...然后我收到此错误:
SSL证书问题:证书链中的自签名证书
...如果我添加 --insecure 标志,我可以解决这个问题。但我认为我需要先修复证书问题,然后节点设置脚本才能运行。
有什么想法可以做到吗? (也许这应该是一个不同的问题?)。
【问题讨论】:
-
你可以启动你的 Dockerfile
FROM node,它会为你预装 node/npm 吗? -
@DavidMaze:我不知道。已经是
FROM别的东西了,不知道能不能是FROM两个东西。整个 Docker/Node/Linux 对我来说都是新事物。