我有那个 Dockerfile
FROM ubuntu:22.04
WORKDIR /root/app/frontend
COPY . .
ENV APP_NAME app.com
ENV CONTAINER_PORT 80
ENV NODE_VERSION v20.10
EXPOSE $CONTAINER_PORT
# utils
RUN apt-get update \
&& apt-get install -y systemd \
&& apt-get install -y curl \
&& apt-get install -y sudo \
&& apt-get install -y git \
&& apt-get install -y vim \
&& apt-get install -y nginx
# nvm settings
RUN git clone https://github.com/nvm-sh/nvm.git /root/.nvm \
&& chmod -R 777 /root/.nvm/ \
&& bash /root/.nvm/install.sh \
&& bash -i -c 'nvm ls-remote' \
&& bash -i -c 'nvm install $NODE_VERSION' \
&& bash -i -c 'nvm use $NODE_VERSION'
# nginx settings
RUN sudo rm /etc/nginx/sites-available/default \
&& sudo rm /etc/nginx/sites-enabled/default \
&& bash ./.nginx/nginx.sh \
&& ln -s /etc/nginx/sites-available/$APP_NAME /etc/nginx/sites-enabled/$APP_NAME \
&& gpasswd -a www-data root \
&& chmod g+x /root && chmod g+x /root/app && chmod g+x /root/app/frontend
RUN chmod -R 777 /root/.npm/
RUN npm i
CMD ["nginx", "-g", "daemon off;"]
我尝试使用
docker image build --file Dockerfile --tag front ./
创建图像
有这个问题
39 | >>> 运行 npm i
错误:无法解决:进程“/bin/sh -c npm i”未成功完成:退出代码:127
我尝试替换这一行
RUN bash -i -c 'npm i'
而且它从未完成
请帮助我
这对我来说是解决方案:
运行 ln -sf $USER_DIR/.nvm/versions/node/v20.10.0/bin/nodejs /bin/nodejs
&& ln -sf $USER_DIR/.nvm/versions/node/v20.10.0/bin/node /bin/node
&& ln -sf $USER_DIR/.nvm/versions/node/v20.10.0/bin/npm /bin/npm