gpt4 book ai didi

node.js - 卷未安装到 nginx 容器中

转载 作者:太空宇宙 更新时间:2023-11-03 21:56:31 25 4
gpt4 key购买 nike

我有下面的 compose 文件,它启动 2 个容器

services:
nginx:
container_name: nginx
build: ./nginx/
ports:
- "80:80"
links:
- node:node
volumes_from:
- node

node:
container_name: node
build: .
env_file: .env

command: npm run package

Node 的 dockerfile

FROM node:6.0

# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

# Install app dependencies
COPY package.json /usr/src/app/
RUN npm install

# Bundle app source
COPY . /usr/src/app

EXPOSE 8000

docker-compose up 似乎没有将 Node 卷安装到 nginx 中。我需要卷来提供来自 Node 的静态文件

location / {
#The location setting lets you configure how nginx responds to requests for resources within the server.
proxy_pass http://node:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

location ~* \.(js|css|png|jpeg)$ {
root /usr/src/app/public;
expires 30d;
}

该卷存在于 Node 中

avernus@avernus-VirtualBox:~$ docker exec -it node bash
root@127bddea4e31:/usr/src/app# ls
Dockerfile docker-compose.override.yml migrations postgres-test shared webpack.config.js
Makefile docker-compose.prod.yml node_modules public socketcluster webpack.production.config.js
client docker-compose.yml package.json server test

但是 Nginx 似乎没有卷

avernus@avernus-VirtualBox:~$ docker exec -it nginx bash
root@47ca17fac4b3:/# cd /usr/src/app
bash: cd: /usr/src/app: No such file or directory

还有什么我遗漏的吗?

最佳答案

docker-compose.yml 的 Node 部分没有声明任何卷 - docker 如何知道应该共享 Node 镜像的哪一部分!尝试将类似的内容添加到您的 compose yaml 中的 Node 服务中:

volumes:
- /usr/src/app

关于node.js - 卷未安装到 nginx 容器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39127318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com