为照片涂抹编写docker
This commit is contained in:
22
Dockerfile
Normal file
22
Dockerfile
Normal file
@@ -0,0 +1,22 @@
|
||||
# 使用官方的paddle镜像作为基础
|
||||
FROM registry.baidubce.com/paddlepaddle/paddle:2.6.1-gpu-cuda12.0-cudnn8.9-trt8.6
|
||||
|
||||
# 设置工作目录
|
||||
WORKDIR /app
|
||||
|
||||
# 设置环境变量
|
||||
ENV PYTHONUNBUFFERED=1 \
|
||||
# 设置pip镜像地址,加快安装速度
|
||||
PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
|
||||
|
||||
# 将当前目录内容复制到容器的/app内
|
||||
COPY . /app
|
||||
|
||||
# 安装任何需要的包
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
# 暴露端口
|
||||
# EXPOSE 8081
|
||||
|
||||
# 运行python脚本,具体脚本在命令行或docker-compose.yml文件中定义
|
||||
ENTRYPOINT ["python"]
|
||||
47
docker-compose.yml
Normal file
47
docker-compose.yml
Normal file
@@ -0,0 +1,47 @@
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
photo_mask_1:
|
||||
container_name: photo_mask_1
|
||||
image: photo_mask
|
||||
build:
|
||||
context: .
|
||||
restart: always
|
||||
command: [ "photo_mask.py", "--clean", "True" ]
|
||||
deploy:
|
||||
resources:
|
||||
reservations:
|
||||
devices:
|
||||
- device_ids: [ "1" ]
|
||||
capabilities: [ "gpu" ]
|
||||
driver: "nvidia"
|
||||
|
||||
photo_mask_2:
|
||||
container_name: photo_mask_2
|
||||
image: photo_mask
|
||||
restart: always
|
||||
depends_on:
|
||||
- photo_mask_1
|
||||
command: [ "photo_mask.py" ]
|
||||
deploy:
|
||||
resources:
|
||||
reservations:
|
||||
devices:
|
||||
- device_ids: [ "1" ]
|
||||
capabilities: [ "gpu" ]
|
||||
driver: "nvidia"
|
||||
|
||||
photo_mask_3:
|
||||
container_name: photo_mask_3
|
||||
image: photo_mask
|
||||
restart: always
|
||||
depends_on:
|
||||
- photo_mask_2
|
||||
command: [ "photo_mask.py" ]
|
||||
deploy:
|
||||
resources:
|
||||
reservations:
|
||||
devices:
|
||||
- device_ids: [ "1" ]
|
||||
capabilities: [ "gpu" ]
|
||||
driver: "nvidia"
|
||||
17
dockerfile
17
dockerfile
@@ -1,17 +0,0 @@
|
||||
# 使用官方的Python基础镜像
|
||||
FROM python:3.12
|
||||
|
||||
# 设置工作目录
|
||||
WORKDIR /app
|
||||
|
||||
# 将当前目录内容复制到容器的/app内
|
||||
COPY . /app
|
||||
|
||||
# 安装任何需要的包
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
# 暴露端口
|
||||
EXPOSE 8081
|
||||
|
||||
# 运行你的Python应用
|
||||
CMD ["python", "./main.py"]
|
||||
@@ -1,13 +1,30 @@
|
||||
import argparse
|
||||
import logging.config
|
||||
import traceback
|
||||
|
||||
from sqlalchemy import update
|
||||
|
||||
from auto_email.error_email import send_error_email
|
||||
from db import MysqlSession
|
||||
from db.mysql import ZxPhhd
|
||||
from log import LOGGING_CONFIG
|
||||
from photo_mask import photo_mask, SEND_ERROR_EMAIL
|
||||
|
||||
if __name__ == '__main__':
|
||||
program_name = "照片审核自动涂抹脚本"
|
||||
logging.config.dictConfig(LOGGING_CONFIG)
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--clean", default=False, type=bool, help="是否将涂抹中的案子改为待涂抹状态")
|
||||
args = parser.parse_args()
|
||||
if args.clean:
|
||||
# 主要用于启动时,清除仍在涂抹中的案子
|
||||
session = MysqlSession()
|
||||
update_flag = (update(ZxPhhd).where(ZxPhhd.paint_flag == "2").values(paint_flag="1"))
|
||||
session.execute(update_flag)
|
||||
session.commit()
|
||||
session.close()
|
||||
|
||||
try:
|
||||
logging.info(f"【{program_name}】开始运行")
|
||||
photo_mask.main()
|
||||
|
||||
Reference in New Issue
Block a user