python项目的容器化部署
- 参考链接
- 编辑Dockerfile文件
- 构建镜像
- 打包镜像
- 加载镜像
- 创建并启动容器
参考链接
链接1
链接2
编辑Dockerfile文件
下方代码是Dockerfile文件的内容:
FROM continuumio/miniconda3
WORKDIR .
COPY table_handle/ ./table_handle/
COPY requirements.txt ./
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
RUN pyarmor gen -O code/ ./table_handle/*
COPY table_handle/key.json ./code/
RUN rm -rf ./table_handle
EXPOSE 8000
WORKDIR ./code
#ENTRYPOINT ["python","run.py","-OPENAI_API_KEY","-OPENAI_API_BASE"]
FROM continuumio/miniconda3
定制的镜像都是基于 FROM 的镜像,这里的miniconda3 就是定制需要的基础镜像。
WORKDIR
是切换当前目录
COPY
将文件或目录复制到镜像中。
RUN
用于执行后面跟着的命令行命令。
pyarmor gen -O code/ ./table_handle/*
是对/table_handle/下的所有文件加密并放到code目录下,如果code目录不存在会新建一个code目录。
EXPOSE
声明容器运行时监听的特定网络端口。
要注意Dockerfile文件的名称必须是
Dockerfile
构建镜像
所有对应的文件放到如下路径下。
在此目录下执行docker build -t table_images
命令:
执行docker images
确认镜像已经构建好
打包镜像
执行docker save -o table_images.tar table_images
命令打包镜像
table_images.tar文件是打包好的镜像
加载镜像
为了不影响测试,首先删除之前的table_images镜像,然后利用docker load -i table_images.tar
命令加载镜像。
创建并启动容器
运行docker run -id --name table_container -p 8003:8000 table_images python run.py EMPTY http://124.70.207.36:7002/v1 qwen1.5-14b-chat bin/bash
命令启动容器。
其中python run.py EMPTY http://124.70.207.36:7002/v1 qwen1.5-14b-chat
是启动容器要运行的程序,EMPTY http://124.70.207.36:7002/v1 qwen1.5-14b-chat是传入的参数,这里python是通过sys.argv[i]
接收参数。
可以通过docker logs 容器名
命令查看容器运行的日志。
可以通过docker exec -it table_container /bin/bash
命令进入容器