gpt4 book ai didi

node.js - Docker ubuntu :16. 04 镜像需要 vpn 证书才能正常工作,但 Node :14-alpine3. 12 不需要?

转载 作者:行者123 更新时间:2023-12-04 19:29:53 40 4
gpt4 key购买 nike

出于某种原因,ubuntu:16.04 docker 镜像会提示并且无法下载 npm 包或在没有安装证书的情况下安装任何东西,当我切换到 Node 14 alpine 3.12 时,它不再是一个问题。
有谁知道为什么会这样?是否与 ubuntu 具有更严格的网络需求有关,因为它是一个更完整的套件,而 alpine 是超轻量级并直接连接到主机网络?
我不知道如何解释这里发生的事情。
附加信息:
旧的 Dockerfile

FROM ubuntu:16.04

RUN apt-get update && apt-get install -y curl ca-certificates
ADD vpn_root.crt /usr/local/share/ca-certificates/vpn_root.crt
RUN chmod 644 /usr/local/share/ca-certificates/vpn_root.crt && update-ca-certificates
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash
RUN apt-get install -y nodejs

WORKDIR /app

ADD . /app

EXPOSE 4000

CMD ["npm run start"]
新的 Dockerfile
FROM node:14-alpine3.12

WORKDIR /app

RUN apk update && apk add python3 py-pip

RUN pip install awscli

COPY . .

RUN npm ci

最佳答案

看起来这是因为在旧版本中我使用的是基础镜像,而在第二个版本中您使用的是应用程序镜像。为了安装 Node 并使其可用,您需要安装 CA 证书。
因此,在旧版本中,正在安装证书,因此您可以从 nodesource.com 获取 Node
在新版本中,我使用的是 Node 镜像,因此在 docker build 期间不需要安装 Node 。
因此,由于安装不再发生在基础镜像中,而不是由主机/本地计算机下载,它已经拥有证书。

关于node.js - Docker ubuntu :16. 04 镜像需要 vpn 证书才能正常工作,但 Node :14-alpine3. 12 不需要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67612335/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com