网页包开发服务器内部docker故障
我的文件结构如下:网页包开发服务器内部docker故障,docker,docker-compose,Docker,Docker Compose,我的文件结构如下: /root-app /api /dashboard package.json yarn.lock Dockerfile docker-compose.yml /root应用程序/ /root应用程序/仪表板/Dockerfile FROM node WORKDIR /usr/src/app ADD package.json yarn.lock ./ RUN yarn install COPY . . 当我在/roor app/dashboa
/root-app
/api
/dashboard
package.json
yarn.lock
Dockerfile
docker-compose.yml
/root应用程序/
/root应用程序/仪表板/Dockerfile
FROM node
WORKDIR /usr/src/app
ADD package.json yarn.lock ./
RUN yarn install
COPY . .
当我在/roor app/dashboard
中运行docker compose up--build
文件夹节点模块
时,它已创建,但为空。为什么?我应该有我的node\u模块
用于本地开发
更新1
当我使用绝对路径而不是相对路径时
dashboard:
build: ./dashboard
command: yarn dev
volumes:
- ./dashboard:/usr/src/app
- ./dashboard/node_modules:/usr/src/app/node_modules
我得到这个错误:
dashboard | yarn run v1.3.2
dashboard | $ webpack-dev-server --mode development
dashboard | /bin/sh: 1: webpack-dev-server: not found
dashboard | error Command failed with exit code 127.
更新2
我的新/dashboard/Dockerfile
FROM node
WORKDIR /usr/src/app
COPY package.json ./
COPY yarn.lock ./
RUN yarn install
并从
docker compose.yml
中删除-./hms仪表板/节点单元:/usr/src/app/node单元
,update-1错误仍在此处。在/root-app/dashboard/Dockerfile
中删除复制命令,因为您已经在使用卷绑定同一目录
在Dockerfile中也使用“复制”而不是“添加”命令
COPY package.json ./
COPY yarn.lock ./
在docker-compose.yml中删除第二卷-./dashboard/node_modules:/usr/src/app/node_modules
,因为第一个目录(./dashboard)已经装入(/usr/src/app/)
在这些更新之后,让我看看您的输出。您可以尝试在当前遇到问题的版本上安装,退出代码为0,但将安装node_模块。 我遇到了一个问题,
devdependency
where没有安装纱线
FROM node
ARG environment=development
RUN mkdir /client
WORKDIR /client
COPY . /client
EXPOSE 8080
RUN npm --version
RUN npm install yarn
CMD if ["$environment" = "development"]; then yarn install --production=false; else yarn install; fi
RUN echo $environment
CMD if [ "$environment" = "development" ] ; then yarn build && yarn start; else yarn build; fi
尝试使用绝对路径而不是相对路径。请查看更新如果我从我的操作系统主机(Docker外部)安装了
node\u模块
,则一切正常。为什么节点_模块不在本地保存
FROM node
ARG environment=development
RUN mkdir /client
WORKDIR /client
COPY . /client
EXPOSE 8080
RUN npm --version
RUN npm install yarn
CMD if ["$environment" = "development"]; then yarn install --production=false; else yarn install; fi
RUN echo $environment
CMD if [ "$environment" = "development" ] ; then yarn build && yarn start; else yarn build; fi