docker部署使用pnpm的项目

681 阅读1分钟

下载pnpm bug:网络问题导致npm下载pnpm的时候很慢

pnpm-lock对包的版本有限制,如果不用pnpm,就有可能有问题

尝试使用npm

 => ERROR [4/6] RUN npm install -g pnpm                                                                                                                                                                  1041.3s
------
 > [4/6] RUN npm install -g pnpm:
1041.2 npm error code ECONNRESET
1041.2 npm error syscall read
1041.2 npm error errno ECONNRESET
1041.2 npm error network request to <https://registry.npmjs.org/pnpm> failed, reason: read ECONNRESET
1041.2 npm error network This is a problem related to network connectivity.
1041.2 npm error network In most cases you are behind a proxy or have bad network settings.

尝试手动上传pnpm 不压缩上传很久 尝试压缩 压缩很慢 压缩好上传之后尝试解压没有权限

尝试在容器内部配置代理 这样需要在clash里面配置代理

image.png 尝试直接用vercel部署 有编译错误 :

"Type error: Page "pathtopage/page.tsx" does not match the required types of a Next.js Page.在解决了export enum的错误后(这个要单独在.ts导出) 部署是可以的

尝试使用pnpm镜像

blog.csdn.net/u012960155/…

  • pnpm下载成功
  • 重新构建image
  • run 在能够访问87端口

解决方式:

  1. 在dockerfile
FROM docker.m.daocloud.io/node:alpine

WORKDIR /app

# 使用npm下载pnpm的时候要使用镜像
RUN npm install pnpm -g --registry=https://registry.npmmirror.com/

# pnpm 也要配置镜像,这样pnpm在下载包的时候会从这个源下载
RUN pnpm config set registry <https://registry.npmmirror.com/>

EXPOSE 3000

2. 在跑docker run的时候 配置pnpm config set fetch-timeout 100000,这个是为了解决ERR_SOCKET_TIMEOUT的错误

 docker run -d --name gdst_mint -v /home/qiongna/gdst_mint:/app -p 18887:3000 gdst_mint sh -c "cd /app && pnpm install && pnpm config set registry <https://registry.npmmirror.com/> && pnpm config set fetch-timeout 100000 && pnpm run build && pnpm run start"