我一直在尝试用python后端来固定一个有角度的应用程序。除了docker compose文件,我做了所有的操作,它说我的app.py不在文件夹中。
我的python应用程序位于"C:\Users\Fra\Desktop\Fra\uni\Tesi\Progetto\backend"中
我的angular应用程序位于"C:\Users\Fra\Desktop\Fra\uni\Tesi\Progetto\frontend"中
我把码头文件留给你,这应该对有帮助
("后台文件"放在后端文件夹中(
FROM python:3.7-slim
COPY ./ /Users/Fra/Desktop/Fra/uni/Tesi/Progetto/backend/
WORKDIR /Users/Fra/Desktop/Fra/uni/Tesi/Progetto
ENV PYTHONUNBUFFERED 1
RUN pip freeze > /requirements.txt
CMD ["python","app.py"]
(位于前端文件夹中的"Dokerfile"(
FROM nginx:1.17.1-alpine
COPY /dist/macroPlan /usr/share/nginx/html
(放置在/Progetto/文件夹中的"docker-compose"(
version: "3.3"
services:
app-backend:
build: ./backend/
image: app_backend
container_name: backend
restart: always
ports:
- 8082:8082
app-frontend:
build: ./frontend/
image: macroplan
container_name: frontend
restart: always
ports:
- 4200:4200
expose:
- "4200"
这是我第一次做这样的事情,我错过了什么?
您的WORKDIR
是/Users/Fra/Desktop/Fra/uni/Tesi/Progetto
,但app.py
文件(在CMD
中启动容器所需(位于/Users/Fra/Desktop/Fra/uni/Tesi/Progetto/backend/
文件夹中。
将后端Dockerfile重写为:
FROM python:3.7-slim
COPY ./ /Users/Fra/Desktop/Fra/uni/Tesi/Progetto/backend/
WORKDIR /Users/Fra/Desktop/Fra/uni/Tesi/Progetto/backend/
ENV PYTHONUNBUFFERED 1
RUN pip freeze > /requirements.txt
CMD ["python","app.py"]
或者,如果出于某种原因想要使用不同的工作目录,则必须为app.py
文件指定正确的路径:
FROM python:3.7-slim
COPY ./ /Users/Fra/Desktop/Fra/uni/Tesi/Progetto/backend/
WORKDIR /Users/Fra/Desktop/Fra/uni/Tesi/Progetto
ENV PYTHONUNBUFFERED 1
RUN pip freeze > /requirements.txt
CMD ["python","./backend/app.py"]