【发布时间】:2021-03-23 11:10:13
【问题描述】:
所以我有一个带有 Github 操作管道的 Nodejs 应用程序,它连接到一个私有 Dockerhub 存储库,一旦使用应用程序目录中的Dockerfile 向main 分支进行推送,它就会创建一个图像
FROM node:12.21.0-alpine
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 4000
CMD [ "node", "konet.js" ]
我已将映像拉入运行 Nginx 的 Ubuntu 18.04 服务器,并从官方 Dockerhub Mongo 映像中拉出 mongo 映像。
我可以独立运行mongo 映像和我的私有 docker 映像 (docker-username/docker-image) 并添加 --net 标志,我可以从应用容器连接到 mongodb。
我的挑战:
- 是否可以创建 Nginx 代理来路由到应用容器端口 4000?
- 运行
docker-composer.yml文件以处理这些进程而不是单独运行图像的正确方法是什么?
下面是我在服务器上的docker-compose.yml:
version: "3.8"
services:
nodeserver:
build:
context: ./app
ports:
- "4000:4000"
nginx:
restart: always
build:
context: ./nginx
ports:
- "80:80"
mongo:
image: "mongo:latest"
container_name: my_mongo
ports:
- 27017:27017
volumes:
- mongodb:/data/db
- mongodb_config:/data/configdb
但我不断收到此错误:
build path /home/devUser/app either does not exist, is not accessible, or is not a valid URL.
【问题讨论】:
标签: node.js mongodb docker docker-compose dockerhub