基于Debian 9构建Docker镜像时安装NodeJS失败求助
解决Docker构建时apt-get exit code 100的问题
你的问题出在debian:9是已停止支持的旧版本,官方软件源已被归档,默认apt源地址无法访问,导致apt-get update执行失败,抛出exit code 100错误。
下面是两种解决办法:
办法一:修复debian9的软件源
修改Dockerfile,在执行apt-get update前先替换为归档源:
FROM debian:9 # 替换debian9的归档源 RUN echo "deb http://archive.debian.org/debian stretch main contrib non-free" > /etc/apt/sources.list \ && echo "deb http://archive.debian.org/debian-security stretch/updates main contrib non-free" >> /etc/apt/sources.list \ && apt-get update -yq \ && apt-get install -yq curl gnupg \ && curl -sL https://deb.nodesource.com/setup_10.x | bash \ && apt-get install -yq nodejs \ && apt-get clean ADD . /app/ WORKDIR /app RUN npm install EXPOSE 2368 VOLUME /app/logs CMD npm run start
办法二:改用官方Node镜像(更推荐)
直接使用Node官方镜像,省去手动安装Node的步骤,也避免debian旧版本的源问题:
# 选择对应Node10的官方镜像,基于debian或alpine都可以 FROM node:10-buster ADD . /app/ WORKDIR /app RUN npm install EXPOSE 2368 VOLUME /app/logs CMD npm run start
注意:Node10也是已停止维护的版本,如果项目允许,建议升级到Node16+的LTS版本,使用对应的官方镜像更稳定。
内容的提问来源于stack exchange,提问作者charles
相关产品推荐
相关产品推荐

