FastAPI 学习之路(四十二)利用Docker部署发布

我们之前的部署都是基于本地的部署,我们这次来看下,如何使用docker部署我们的fastapi项目。

编写Dockerfile

①:首先编写一个docker镜像的制作文件Dockerfile

FROM python:3.10

RUN pip install fastapi uvicorn aiofiles sqlalchemy python-multipart pymysql

EXPOSE 80

COPY . .

CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80"]

其实简单,就是docker依赖的是python3.10,安装依赖包,然后将所有本地文件复制到镜像,最后部署。

打包镜像

②:编写好Dockerfile文件后,就要以该文件打包我们的镜像,命令:

docker build -t myfastapi .



# 语法说明
docker build -t 镜像名称 Dockerfile文件所在路径

执行此命令时需要耐心等待,会有一定的耗时,具体时长跟打包镜像时执行的命令有关,过程如下:

打包完成后,可以通过docker images命令查看镜像

部署

 docker run -d --name myfastapi -p 80:80 myfastapi

 启动后,可以使用docker ps查看容器服务是否正常启动

 接下来我们就试着访问一下:

镜像导出 

docker save -o myfastapi.tar myfastapi

导出之后我们可以将该镜像文件导入到任何docker环境进行部署服务

镜像文件导入

 docker load < fastapi.tar

然后将镜像启动为我们的容器服务即可访问。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 04:32:03       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 04:32:03       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 04:32:03       57 阅读
  4. Python语言-面向对象

    2024-07-13 04:32:03       68 阅读

热门阅读

  1. 【C++精华铺】12.STL list模拟实现

    2024-07-13 04:32:03       18 阅读
  2. xargs命令

    2024-07-13 04:32:03       24 阅读
  3. TCP和UDP的区别

    2024-07-13 04:32:03       21 阅读
  4. 【python】IPython的使用技巧

    2024-07-13 04:32:03       24 阅读
  5. C++中struct与class区别,C与C++中struct区别

    2024-07-13 04:32:03       31 阅读