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

安装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
posted @ 2024-01-20 16:12  dack_deng  阅读(403)  评论(0编辑  收藏  举报