首页 > 其他分享 >fastapi项目 09-阿里云服务部署fastapi项目

fastapi项目 09-阿里云服务部署fastapi项目

时间:2024-01-20 16:24:47浏览次数:33  
标签:容器 项目 fastapi 09 端口 yum 3309 镜像 docker

安装docker

按照官方文档的流程来。

1. 卸载旧版本
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
2. 安装需要的软件包
yum install -y yum-utils
3. 设置镜像仓库
# 正确推荐使用国内的
yum-config-manager --add-repo http://mirrors.aliyun.com/docker- ce/linux/centos/docker-ce.repo
4. 更新yum软件包索引
yum makecache fast
5. 安装 Docker CE (社区版)
yum install docker-ce docker-ce-cli containerd.io
6. 启动docker
systemctl start docker
7. 测试docker是否安装成功
docker version
docker run hello-world
docker images

8. 配置阿里云镜像加速
打开阿里云官网地址:https://cr.console.aliyun.com/cn-shenzhen/instances/mirrors


如果要卸载的话
1. 停止docker服务

systemctl stop docker
2. 卸载docker依赖

yum -y remove docker-ce docker-ce-cli containerd.io

3. 删除docker默认工作路径
rm -rf /var/lib/docker

配置阿里云镜像加速

打开阿里云官网地址:https://cr.console.aliyun.com/cn-shenzhen/instances/mirrors

将按照指令执行:

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://fgo3uo8x.mirror.aliyuncs.com"]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

搭建mysql数据库

1. 拉去mysql5.7的数据库镜像
docker pull mysql:5.7
2. 查看镜像是否拉去成功
docker images

3. docker run运行容器
docker run -p 3309:3306 --name dackmysql -e MYSQL_ROOT_PASSWORD=xx123456 -d mysql:5.7

-p 映射端口,容器默认端口3306,映射到宿主机3309(端口可以直接设置)
-- name 设置容器名称,名称需唯一
-e 设置root用户的密码, 密码直接设置
-d 挂后台启动

开放阿里云3309端口

默认里云的端口是无法通过外部去访问的,所以需要手动开启3309端口。

    1. 防火墙中添加3309端口访问
    1. 安全组中开放3309端口

连接数据库,创建项目数据库

容器是镜像的示例,所以启动容器后,外部就可以访问容器。

    1. 打开navicat客户端,连接,根据项目的数据库,进行创建fast,和项目中保持一致。
    1. 修改项目中的数据库IP,和服务器的保持一致,才能连接上。

通过Dockerfile部署构建镜像

dockerfile文件放在项目的根目录下,首先服务器中创建一个文件夹,将项目代码上传到该文件中。进入到项目的根目录下执行:

1. 构建镜像
docker build -t dack_fast:v1 .  (后面的点别忘了)
2. 启动容器
docker run -d --name fast_pro -p 8001:8001  dack_fast:v1

3. 检查docker部署的log,查看容器部署是否成功,代码是否报错:
docker logs -f 容器名 or ID

通过外部访问看是否可以访问。

如果后期需要修改某个项目的文件,应该怎么弄呢?

1. 首先需要进入到容器内部,将该文件删除
docker exec -it dack_fast /bin/bash
2. 删除该文件夹
rm 文件夹名称
3. 先将文件夹上传到本地服务器,再上传到容器内
docker cp /路径/文件名 容器ID:/上传路径
例如:
sudo docker cp gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz 00e7d0f73704:/usr/share/
4. 进入到容器内部查看成功没,输入exit退出容器
5、 重启容器
docker ps
docker stop 容器name
docker start 容器name

标签:容器,项目,fastapi,09,端口,yum,3309,镜像,docker
From: https://www.cnblogs.com/dack-zt-deng/p/17976647

相关文章

  • RAS非对称加密技术在分布式项目中的应用
    本文目录前言RSA非对称加密技术的定义RAS非对称加密技术使用场景RSA秘钥初始化秘钥初始化文件、加密、解密、获取秘钥文件工具类后端测试加密、解密公钥获取接口开发附页前端加密测试小咸鱼的技术窝前言这段时间一方面忙着毕业论文的事情,一边忙着工作上的事情,也是好久都没有动笔......
  • SpringBoot项目通过注解快速解决,字典翻译,响应数据加密,数据脱敏等问题
    简介在几乎所有SpringBoot项目中都会面临字典翻译,接口数据加密,数据脱敏的问题。在每个接口中单独的解决会非常繁琐,因此接下来介绍一下怎么通过注解快速解决这些问题。实现步骤1.引入maven坐标<dependency><groupId>io.gitee.gltqe</groupId><artifactId>......
  • 金蝶云星空创建表单插件项目
     一、新建一个空的解决方案  二、新建一个类库     三、添加引用添加金蝶安装目录的引用,如果是协同开发,那就是使用工作空间下的dll。本地金蝶云安装目录:C:\ProgramFiles(x86)\Kingdee\K3Cloud\WebSite\bin协同开发工作目录:D:\WorkSpace\XXXX\mm_k3Cloud\K3......
  • 集成微软 Clarity 项目用户前端埋点
    ......
  • 图像采集和多缓存项目中的若干总结
    遇到的问题:1.图像滚动:原因:没有读出/写入整幅图像导致;2.图像错位:原因:在读出当前帧前,已向fifo里写入了若干数据;(合理的设置hdmi的启动可以解决这个问题);3.图像撕裂:原因:读到了写入区域;缓存多帧数可以解决这个问题;4.缓存后的图像闪动:原因:没有准确的设置启动,导致不合理的地址跳跃;5.6......
  • 【github】Mac系统中,如何项目clone(1.通过vscode链接github,2.进行clone)
     1.通过vscode打开一个空文件夹(目录:确认想要放置新项目的目录)2.进行vscode和github的链接1)参考下方网址1-6步,生成sshkey,登录到github,检测SSHkeyhttps://cloud.tencent.com/developer/article/1952247,网址中有效内容如下:1.检查SSHkey是否存在在Mac终端输入:ls-a~/.......
  • 题解 CF1909H
    题意给定一个长度为\(n\)的排列\(p\)。你可以进行不超过\(10^6\)次操作,每次操作是选择一个长度为偶数的区间\([l,r]\),然后交换\((p_l,p_{l+1}),(p_{l+2},p_{l+3}),...,(p_{r-1},p_r)\)。你需要将排列排序。数据范围:\(n\le3\times10^5\)。题解刚才有个群友问我Z......
  • 使用pnpm来管理vue项目的node_modules
    要使用pnpm,先确保nodejs版本在16以上(目前用的18.16.1)(确保本地已经全局安装了pnpm如果没有安装就使用npmi-gpnpm来全局安装)一.老项目从npm迁移到pnpm  先删掉项目中的node_modules文件夹和package-lock.json文件   在终端运行pnpmi 安装成功后根目录下会多一......
  • springboot项目中的一些小tips
    1.服务出现类不是java,左下角是红色"J"解决方式:选择java包右键,MarkDirectoryas=>SourcesRoot2.myBatisX插件推荐方便mapper和xml之间的对应,还可以生成代码,推荐文章:初步使用:https://blog.csdn.net/weixin_47025166/article/details/125362323进阶使用:https://baomidou.c......
  • 使用 Swift 代码优化项目编译速度
    引言软件的性能是评价一个软件质量的重要指标,尤其在今天这个时代,性能已成为大型项目不可或缺的考虑因素之一。对于用户量极大的软件,如网银系统、在线购物商城等,更是必须保证其高效稳定的性能。在这种背景下,优化项目的编译速度就显得尤为重要。本文将介绍如何使用Swift代码优化......