一、环境
ubuntu
docker
docker-compose
二、项目结构
backend/
app.py
Dockerfile
requirements.txt
Dockerfile:
---------------
FROM python:3.7
MAINTAINER jimmy
ENV PIPURL "https://pypi.tuna.tsinghua.edu.cn/simple"
WORKDIR /backend
COPY . .
RUN pip install -r requirements.txt -i ${PIPURL} --default-timeout=1000
CMD ["python", "app.py"]
docker-compose.yml:
---------------
version: '3'
services:
mymysql:
image: mysql:5.7.18
container_name: xxx_mysql
restart: always
environment:
- MYSQL_ROOT_PASSWORD=xxx
volumes:
- ./mysql/data:/var/lib/mysql
- ./mysql/conf.d:/etc/mysql/conf.d
ports:
- "3306:3306"
backend:
image: xxx_bk:0.0.1
build: ./backend
restart: always
container_name: xxx_bk
depends_on:
- mymysql
volumes:
- ./backend:/backend
ports:
- "8000:8000" # backend
nginx:
image: nginx:latest
restart: always
container_name: xxx_nginx
volumes:
- ./nginx/conf:/etc/nginx/conf.d
- ./nginx/dist:/dist
ports:
- "8888:8888" # frontend
nginx.conf
------------
server {
listen 8888;
server_name xxx.xxx.xxx;
location / {
root /dist;
index index.html index.htm;
}
}
三、准备工作
vue.config.js
-------------
module.exports = {
publicPath: "./",
outputDir: "dist",
assetsDir: "static",
}
--------------
npm run build
scp -r xxx\dist abc@192.168.xxx.xxx:xxx/nginx
app.py
-----------
# 注意中文编码
DF.to_excel(fr'汉字.xlsx', encoding='GBK')
# 开放主机与端口
app.run(host="0.0.0.0", port=8000)
四、构建运行容器
docker-compose.yml 目录下:
# 构建并后台运行容器
docker-compose up -d
# 查看容器
docker ps
# 进入容器
docker exec -it container_id /bin/bash
# 查看运行日志
docker logs -f container_id