如何解决使用 docker-compose 进行容器化后,前端和后端之间没有通信
我是 docker 新手。我正在尝试使用 docker 来容器化我的 MERN 堆栈应用程序。 这是我用于后端的 Dockerfile
# Dockerfile for Node Express Backend
FROM node
# Create App Directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# Install Dependencies
COPY ./package.json ./
RUN npm install
# Copy app source code
COPY . .
# Exports
EXPOSE 5000
CMD ["npm","run","start"]
这是我的前端 Dockerfile
# Dockerfile for React client
# Build react client
FROM node
# Working directory be app
WORKDIR /usr/src/app
COPY ./package.json ./
### Installing dependencies
RUN npm install
# copy local files to app folder
COPY . .
EXPOSE 3000
CMD ["npm","start"]
这是我的 docker-compose.yml
version: '3.9'
services:
server:
build:
context: ./backend
dockerfile: Dockerfile
image: mockup-quora-backend
container_name: myapp-node-server
command: npm run start
ports:
- "5000:5000"
env_file: ./backend/.env
client:
build:
context: ./frontend
dockerfile: Dockerfile
image: mockup-quora-frontend
container_name: myapp-react-client
command: npm run start
depends_on:
- server
stdin_open: true
ports:
- "3000:3000"
我的 docker-compose 文件以及前端和后端图像已成功创建。
PS I:\Mockup-Quora> docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------------
myapp-node-server docker-entrypoint.sh npm r ... Up 0.0.0.0:5000->5000/tcp
myapp-react-client docker-entrypoint.sh npm r ... Up 0.0.0.0:3000->3000/tcp
我的两个容器都已启动并正在运行,但是来自端口 3000 的请求无法与端口 5000 通信,因为两个端口之间没有建立连接。
谁能帮我解决这个问题??
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。