ubuntu --network=主机在Docker构建中工作,但在Docker-compose中不工作

cld4siwp  于 2023-01-29  发布在  Docker
关注(0)|答案(1)|浏览(148)

我有一个node.js应用程序,在Ubuntu中,一旦它运行npm install,就会出现如下所示的超时错误。
Docker build npm install error network timeout
解决方案是添加--network=host

docker build -t cassiamani/nodeapp --network=host .

但是我有一个docker-compose.yaml文件,如下所示;

version: '3.8'

services:
  nodejs-server:    
    network_mode: "host"
    build:
      context: ./api
    ports:
      - "8000:8000"
    container_name: node-api
    volumes:
       - ./api:/usr/src/app/api
       - /usr/src/app/api/node_modules
  react-ui:
    network_mode: "host"
    build:
      context: ./web/web-app
    ports:
      - "3000:3000"
    container_name: react-ui
    stdin_open: true
    volumes:
       - ./web/web-app:/usr/src/app/my-app
       - /usr/src/app/my-app/node_modules

而且它仍然停留在npm install命令上,添加network_mode: "host"不起作用。我在这里错过了什么吗?

axr492tv

axr492tv1#

您所使用的方法是在运行时指定网络设置。要在构建时指定它们,您需要在build:部分下添加network:,如下所示

build:
  context: ./api
  network: host

相关问题