我使用 docker-compose 设置了一个简单的 Laravel 应用程序。
除了 Node 服务之外,一切正常。
当我运行docker-compose run --rm node npm install
时在命令运行一段时间后,在项目文件夹中我收到以下错误
这也是我的 docker-compose.yml 文件
版本:“3.7”
服务: 应用程序: build : 参数: 用户: 戴尔 uid: 1000 语境: 。/ dockerfile: Dockerfile 图片:登陆应用程序 重新启动:除非停止 工作目录:/var/www/ 卷: - ./:/var/www 网络: - 着陆
nginx:
image: nginx:alpine
restart: unless-stopped
ports:
- 8000:80
volumes:
- ./:/var/www
- ./docker-compose/nginx:/etc/nginx/conf.d/
networks:
- landing
node:
image: node:15.5-alpine3.10
working_dir: /assets
volumes:
- ./:/assets
command: "npm run watch"
db:
image: mysql:8
restart: unless-stopped
environment:
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
MYSQL_PASSWORD: ${DB_PASSWORD}
MYSQL_USER: ${DB_USERNAME}
networks:
- landing
网络: 降落: 驱动程序:桥
最佳答案
仅供引用,在遇到同样的问题并查看了包括这个在内的数十篇帖子(其解决方案似乎非常复杂)后,有效的是一个简单的代理配置,传递给 npm 本身。 这在 docker 构建过程中修复了它。我所要做的就是在运行 npm install 命令之前将这些行添加到我的 Dockerfile 中:-
RUN npm config set http-proxy http://<my company proxy>:8099
RUN npm config set https-proxy http://<my company proxy>:8099
关于node.js - 在 docker 容器中运行 npm install 时,Docker Node 服务返回 ECONNRESET 网络错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65480866/