【发布时间】:2020-05-28 04:15:56
【问题描述】:
这是 docker-compose 文件,我已经将文件夹设置为由 Virtual Box VM 共享,但它仍然无法正常工作。
version: '3'
services:
postgres:
image: 'postgres:latest'
deploy:
restart_policy:
condition: on-failure
window: 15m
redis:
image: 'redis:latest'
nginx:
restart: always
build:
dockerfile: Dockerfile.dev
context: ./nginx
ports:
- '3050:80'
api:
build:
dockerfile: Dockerfile.dev
context: ./server
volumes:
- /usr/src/app/node_modules
- ./server:/usr/src/app
environment:
- REDIS_HOST=redis
- REDIS_PORT=6379
- PGUSER=postgres
- PGHOST=postgres
- PGDATABASE=postgres
- PGPASSWORD=postgres_password
- PGPORT=5432
client:
build:
dockerfile: Dockerfile.dev
context: ./client
volumes:
- /usr/src/app/node_modules
- ./client:/usr/src/app
worker:
build:
dockerfile: Dockerfile.dev
context: ./worker
volumes:
- /usr/src/app/node_modules
- ./worker:/usr/src/app
我在 Windows 7 sp1 上运行它。每当我运行docker-compose up - 我都会收到错误:
api_1 | npm ERR! code ENOENT
api_1 | npm ERR! syscall open
api_1 | npm ERR! path /usr/src/app/package.json
api_1 | npm ERR! errno -2
api_1 | npm ERR! enoent ENOENT: no such file or directory, open '/usr/src/
app/package.json'
api_1 | npm ERR! enoent This is related to npm not being able to find a fi
le.
api_1 | npm ERR! enoent
api_1 |
api_1 | npm ERR! A complete log of this run can be found in:
api_1 | npm ERR! /root/.npm/_logs/2020-05-28T04_06_56_121Z-debug.log
complex_api_1 exited with code 254
先谢谢了,请帮忙。 我正在尝试从 Docker 和 Kubernetes 完整指南的 Udemy 课程中运行一个斐波那契项目。
每个服务都有自己的 package.json 和其他文件。
服务器 Docker 文件:
FROM node:alpine
WORKDIR /usr/src/app
COPY package.json .
RUN npm install
COPY . .
CMD ["npm", "run", "dev"]
工人 Docker 文件:
FROM node:alpine
WORKDIR /usr/src/app
COPY package.json .
RUN npm install
COPY . .
CMD ["npm", "run", "dev"]
客户端 Docker 文件:
FROM node:alpine
WORKDIR /usr/src/app
COPY package.json .
RUN npm install
COPY . .
CMD ["npm", "run", "start"]
【问题讨论】:
-
您可能应该删除所有这些
volumes:块。这将使 Docker 运行内置于映像中的代码,而不是覆盖它。这种“覆盖”行为导致“没有这样的文件或目录”错误:主机目录中的任何内容都与图像中的布局不兼容,并且您将所有内容都隐藏在那里。 -
但是如果我删除卷块那么项目运行不正常,因为它是一个动态项目。
-
阅读更好,我们同时学习相同的udemy课程,我们在同一课(接近130)????尝试使用我发布的解决方案。它应该可以工作
-
我试过了,但它仍然无法正常工作我什至共享了文件夹并在 oracle VM 框中添加了它的路径,但它仍然给出了同样的错误。
-
也分享您的控制台终端
标签: docker docker-compose docker-volume docker-toolbox