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

简介: FastAPI 学习之路(四十三)利用Docker部署发布

我们之前的部署都是基于本地的部署,我们这次来看下,如何基于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 .


  这里需要耐心等待就可以


image.png


打包完成后,我们可以用docker images查看


image.png


然后我们可以去部署。


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



启动后,我们可以看使用docker ps -a查看


image.png


接下来我们就可以访问了


http://127.0.0.1/openapi或者http://0.0.0.0/openapi都可以查看


image.png


两个地址都可以访问成功。    


       3.我们也可以把本地镜像导出出来。


docker save -o myfastapi.tar myfastapi


导出之后,我们以后部署可以在任意的docker去部署我们的服务。

 

然后我们在要去部署的机器执行


docker load < myfastapi.tar 


   然后去启动镜像即可。


  其实docker去部署很简单。

相关文章
|
10天前
|
应用服务中间件 网络安全 nginx
快速上手!使用Docker和Nginx部署Web服务的完美指南
快速上手!使用Docker和Nginx部署Web服务的完美指南
|
5天前
|
关系型数据库 MySQL Shell
4.Docker 应用部署
4.Docker 应用部署
|
1天前
|
Cloud Native 测试技术 Linux
云原生之使用Docker部署RSS阅读器Huntly
【5月更文挑战第1天】云原生之使用Docker部署RSS阅读器Huntly
15 4
|
4天前
|
负载均衡 Cloud Native Linux
Docker部署Traefik结合内网穿透远程访问Dashboard界面
Docker部署Traefik结合内网穿透远程访问Dashboard界面
|
4天前
|
存储 Linux 文件存储
Linux使用Docker部署Traefik容器并实现远程访问管理界面-1
Linux使用Docker部署Traefik容器并实现远程访问管理界面
|
5天前
|
存储 Shell Docker
docker 部署单节点的etcd以及 常用使用命令
在 Docker 中部署单节点的 etcd 以及一些常用命令的操作,可以按照以下步骤进行: ## 一、部署单节点 etcd 1. **拉取 etcd Docker 镜像**:您可以从 Docker Hub 拉取 etcd 的官方镜像。 ```shell docker pull quay.io/coreos/etcd:latest ``` 2. **启动 etcd 容器**:使用 `docker run` 命令来启动 etcd 容器。以下是一个示例命令,其中将容器的 2379 端口映射到主机的 2379 端口: ```shell docker run -d \
|
5天前
|
弹性计算 Shell 数据安全/隐私保护
自动化构建和部署Docker容器
【4月更文挑战第30天】
8 0
|
6天前
|
关系型数据库 分布式数据库 PolarDB
PolarDB产品使用合集之关于在Docker环境中部署和维护PolarDB-X,有相关文章可以参考吗
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
6天前
|
缓存 运维 Serverless
Serverless 应用引擎产品使用之在阿里云函数计算中使用Docker进行部署函数如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
14 0
|
8天前
|
数据库 Nacos Docker
基于docker-compose部署微服务基本环境
基于docker-compose部署微服务基本环境
10 0