我們之前的部署都是基於本地的部署,我們這次來看下,如何基於docker去部署我們的項目。
1.首先去編寫一個docker鏡像的製作文件Dockerfile
FROM python:3.7 RUN pip install fastapi uvicorn aiofiles fastapi-async-sqlalchemy python-multipart EXPOSE 80 COPY . . CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80"]
其實簡單,就是告知依賴的python3.7,需要安裝依賴包。然後複製本地文件。然後執行部署。
2.寫好文件,就是打包我們的鏡像。執行命令
docker build -t myfastapi .
這裏需要耐心等待就可以
打包完成後,我們可以用docker images查看
然後我們可以去部署。
sudo docker run -d --name myfastapi -p 80:80 myfastapi
啓動後,我們可以看使用docker ps -a查看
接下來我們就可以訪問了
http://127.0.0.1/openapi或者http://0.0.0.0/openapi都可以查看
兩個地址都可以訪問成功。
3.我們也可以把本地鏡像導出出來。
docker save -o myfastapi.tar myfastapi
導出之後,我們以後部署可以在任意的docker去部署我們的服務。
然後我們在要去部署的機器執行
docker load < myfastapi.tar
然後去啓動鏡像即可。其實docker去部署很簡單。
文章首發在公衆號,歡迎關注。