fastapi项目生成环境搭建

概述

整个环境搭建的思路我觉得是没问题的,只是还缺少一些东西。
这是一个很糟糕的尝试过程,到最后还是因为其中一步有问题前功尽弃,最近没有时间再进行测试了,希望各位大佬看到之后能指点一二。

从github获取代码

先到想要放置代码的文件夹

pip3 install cookiecutter
cookiecutter https://github.com/tiangolo/full-stack-fastapi-postgresql

接下来的执行方式参考官方文档:https://github.com/tiangolo/full-stack-fastapi-postgresql
完成代码的获取之后,就可以修改dockerfile和很多其他配置,完成之后再运行环境

安装需要的环境

docker

docker安装如下:


apt install docker
apt install docker-compose

安装完成之后需要修改docker的软件源。
坏消息是模板是使用了非官方的dockerfile,导致安装时间缓慢,好消息是找到了对应的dockerhub镜像,速度影响不大。
配置dockerhub加速方式如下:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://1nj0zren.mirror.aliyuncs.com",
        "https://docker.mirrors.ustc.edu.cn",
        "http://f1361db2.m.daocloud.io",
        "https://dockerhub.azk8s.cn"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

完成该配置之后就能够大幅度提高docker的下载速度。
接下来修改dockerfile
总共需要修改的有四个dockerfile,backend文件夹三个,frontend文件夹一个
先修改frontend文件夹的代码,
打开项目/frontend/dockerfile,修改文中的:

RUN npm install 

RUN npm --registry https://registry.npm.taobao.org info underscore 
RUN npm install   --registry=https://registry.npm.taobao.org

使用淘宝镜像加快npm速度(不然让你怀疑人生)

然后修改backend后端的三个dockerfile,修改方式都一样,主要目的为加快镜像源的apt速度和pip速度
分别在三个文件的头增加:

#加快apt install *的速度
RUN  sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
RUN  apt-get clean
RUN apt-get update

# 加快pip的速度
RUN pip install -U pip
RUN pip config set global.index-url http://mirrors.aliyun.com/pypi/simple
RUN pip config set install.trusted-host mirrors.aliyun.com

分别在三个文件夹完成之后,就可以执行以下指令尝试运行了:

docker-compose up -d

更多和项目相关的介绍在项目文件夹的readme.md里面。
我主要遇到的就是,配置了apt加速还是很慢。。。满到爆。。。
如果有大佬成功部署了留言告知一下

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值