经验教训:
1、gunicorn log文件固定放置在容器中目录:/code/logs ,所以这个目录必需映射出来;
2、按照fastapi官方建议,uvicorn运行目录:/app ,所以这个目录要映射到代码目录;
3、通过查找目录(/code/logs )中gunicorn错误信息和(/app/logs)中uvicorn的logger错误信息,就可以定位docker部署的问题所在。
4、通过命令(docker exec -it a6fe8d12febc /bin/bash),进入容器中查看目录/code/logs下错误信息,在容器不能正常启动时,错误信息会无法同步出来主机中。
5、完全版run命令会无法启动docker:
>>>>>docker run -itd -e TZ="Asia/Shanghai" --restart=always --name V2-fastapi -p 9001:9001 -v /yunhuoV2/fastapi/code:/app xy-fastapi:2.0 /bin/bash -c "gunicorn main:app -k uvicorn.workers.UvicornWorker -c gunicorn.conf.py"
先运行简化版启动docker,就可以进入容器:
>>>>>docker run -itd -e TZ="Asia/Shanghai" --restart=always --name V2-fastapi -p 9001:9001 -v /yunhuoV2/fastapi/code:/app xy-fastapi:2.0 /bin/bash
进入容器后进行命令,然后进去logs目录查看错误信息:
>>>>>gunicorn main:app -k uvicorn.workers.UvicornWorker -c gunicorn.conf.py
6、常用命令: