尝试docker-compose时出现Nginx.conf错误

oipij1gg  于 2023-06-05  发布在  Nginx
关注(0)|答案(1)|浏览(159)

我得到了一个vs解决方案,它包含多个项目

在ClientApp/Angular创建Nginx.conf

我的docker-compose文件

clientapp:
image: ${DOCKER_REGISTRY-}clientapp
build:
  context: .
  dockerfile: src/ClientApp/Angular/Dockerfile
ports:
  - 4200:80

Clientapp Dockerfile

FROM node:19.5.0-alpine3.17 AS builder

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install

COPY . .

RUN npm run build --prod

FROM nginx:1.19-alpine

RUN rm -rf /usr/share/nginx/html/*

COPY --from=builder /usr/src/app/dist/angular /usr/share/nginx/html

COPY nginx.conf /etc/nginx/nginx.conf

EXPOSE 80
EXPOSE 443

当我试着写的时候,我犯了一个错误
/etc/nginx/nginx/nginx/nginx/nginx.conf
未能解决:无法计算缓存键:无法计算ref moby::qfcrdm 6 j5 llxkmhzbg 2bhwu 8 c的校验和:“/nginx.conf”:未找到

vmjh9lq9

vmjh9lq91#

您似乎为clientapp服务设置了错误的构建上下文。
目前是.,表示项目根目录 (您的docker-compose.yml文件所在的位置,而不是ClientApp/Angular目录)。正如我们所看到的,没有任何nginx.conf文件 (或提供我们项目根文件夹的完整结构)
尝试指定类似于dockerfile:路径的上下文,类似于以下内容 (假设src是您的项目根目录)

clientapp:
  image: ${DOCKER_REGISTRY-}clientapp
  build:
    context: ./ClientApp/Angular
    dockerfile: ./ClientApp/Angular/Dockerfile
  ports:
    - 4200:80

或者更简单:如果您使用一个Dockerfile (使用默认名称)。您可以只指定构建目录:

clientapp:
  image: ${DOCKER_REGISTRY-}clientapp
  build: ./ClientApp/Angular
  ports:
    - 4200:80

相关问题