进入宿主机把python代码添加到的/home目录
下载:
docker pull python:3.8
开始操作
a.sh脚本:
#!/bin/sh#执行的python代码python /home/yolov5-5.0/tiger_fastapi.py ##在脚本最后一行添加tail -f /dev/null,这个命令永远完成不了,所以该脚本一直不会执行完,所以该容器永远不会退出tail -f /dev/null
ddockerFile:
#基于的基础镜像FROM python:3.8COPY ./a.sh /home/RUN chmod 777 /home/a.shENTRYPOINT ["/home/a.sh"]
打镜像:
docker build -t python38 -f Dockerfile .
运行镜像:
docker run -v /home/yolov5:/home python38
容器不会停止,不用担心,进入容器.开始操作即可,直到成功运行起来
docker exec -it happy_ritchie /bin/bash
在容器中可以直接玩,直到搞定运行环境就行
在容器中调试代码root@3b8ac3f9083e:python tiger_fastapi.py在线调式代码下载包等pip install requirements.txt
离线准备:
1.生成requirements.txt为了便于新环境部署,python项目中需要包含一个 requirements.txt 文件,用于记录所有依赖包及其精确的版本号requirements.txt可以通过pip命令自动生成和安装生成requirements.txt文件cd 项目目录2.执行 pip freeze > requirements.txt在其他idea上下载包命令也写一下:pip download -d /home/packages -r requirements.txt -i /simple3.使用离线包也可以,把之前下载好的包导入 -r覆盖操作,--find-links=packages路径指定到/hmoe文件下pip install --no-index --find-links=packages -r requirements.txt
环境无问题时候,成功运行将此容器打成镜像:
docker commit -a="作者" -m="说明python38运行yolov5" 容器id-3b8ac3f9083e 镜像名yolov5
再运行打好的镜像即可,里面环境啥的都是对的.以后更新代码到宿主机的/home目录下就行
docker run -id -p 8082:8082 -v /home/yolov5:/home --name=yolov5 yolov5