将依赖项添加到 package.json docker

时间:2021-04-15 02:20:08

标签: node.js docker docker-compose package.json

我目前正在 docker 中运行 nodejs express 应用。

docker-compose.yml

# networks and nginx ...
  api:
    build:
      context: ./api
    networks:
      - back-tier
    volumes:
      - ./api:/usr/src/api
      - /usr/src/api/node_modules

Dockerfile

FROM node:lts-alpine
RUN npm install -g nodemon
WORKDIR /usr/src/api

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 8080
CMD [ "nodemon" ]

这里的问题是卷已挂载,我无法从主机修改 package.json,因为 docker“拥有”package.json。

但是,如果我使用 docker run -it dockername_api /bin/sh 在 docker 中添加依赖项然后执行 npm i package,package.json 不会在主机端更新。

现在的解决方案是添加新的依赖后,手动将package.json从容器复制回宿主机?另一种做法是停止docker,在宿主机上做npm i package,然后重建docker,非常麻烦。

谢谢

0 个答案:

没有答案