实战Docker部署Flask后端Api并部署云托管服务

网站建设3年前发布
20 0 0

20230306103449975d8d88138b9761c46897d2c8db4b50bf0870692,​​想了解更多关于开源的内容,请访问:​​,​​51CTO 开源基础软件社区​​,​​https://ost.51cto.com​​,在​​上篇文章​​我们讲了怎么用docker部署nginx应用网站,这篇文章我们就来部署我们的后端api。我们这次尝试在服务器和微信云托管都进行部署,部署于云托管也是现在个人开发者的另一种选择(个人觉得啊)不用自己运维确实省事而且还可以可视化监控资源。而且微信云托管有个好处就是可以在小程序公众号进行内网连接,从而避免了可能的ddos。,准备docker,准备一个后端,这里演示的是用python flask框架做的一个后端,这个框架的一个好处就是简单,轻量。我的后端太长就不展示给大家了,大家可以使用下面的代码进行操作。,这里我们使用docker来进行部署,所以我们需要先去下载一下docker。详细的可以看我​​这篇文章​​,这里我们就加加速。这里是对于服务器的操作,对于云托管的比较简单。,首先先使用:,卸载旧版本,如果有的话(看情况自己判断)。,设置好了之后就可以进行下载了,下面是下载代码。,完成之后可以使用docker info来查看是否修改成功。,20230306103450a48eaf4834ce19e95ec868bb46ee223071212c271,这个registry mirrors变成你写进去的地址那么就成功了。然后我们需要先将我们的后端代码放进我们的服务器里。,找到你python文件的地址,使用ftp传入到一个你喜欢的位置像我这样。,20230306103450936e99540b7b5f68f5f44129dcf1b0a0f547d5742,2023030610345146b7a4b62fd42691d8b928cdf81fb819b1d8ec826,cd 进入然后打开Xftp将文件传入。,20230306103815d3b4dec32f4690643d4772be9c0a5d9efe9998995,这里的这个Dockerfile,这里可以在你的编辑器(pycharm)这些编写好了放进去,或者在服务器里自行创建都可,我这里是在编辑器中先创建好了,但是我在服务器中进行了修改。,注意:这里我命名为官方推荐命名(Dockerfile),这样命名的话不需要自己指定文件,否则build的时候需要自行指定文件。,20230306103452f248571974214a3715f9672c4d25ce49a950f7843,这个文件的话在pycharm中也是很好生成的。我们只需创建这个文件(requirements.txt)然后他就会有提示。,20230306103452b6f6679889f30889d35296af9a9d0244a4864a136,2023030610345238f6e24374c35a266fe2239fdf6ad6bd1249c6136,2023030610345317d339f080f481d249d3913eae3eba5cbe938d997,这样就生成好了。,最后就是这样一个结构。,202303061034540776dc0097bcaa32ae876390c692861547de4d702,接下来我们只需配置好Dockerfile文件就基本大功告成了。并且也不难。而且这个文件也可以在云托管中进行使用。配置如下:,这个应该不难理解并且我也做了详细的注释。这样我们的 Dockerfile文件就算配置完成了。接下来就可以去build执行创建镜像了。,docker build -t python-flask01。,2023030610381571bf56d87b8ddd0c1b4061597cc8b8c2586cc2466,大家一定要记住后面还有一点(.)。我这里就忘记了,详细的dockerfile教程可以看我​​这篇文章​​里面还是蛮详细的大家可以看看。,我的网不太好大约一分钟左右完成。耐心等待一会。,20230306103455817a671857c6c643047478d65384548e9ec403187,完成后使用docker images命令查看生成的镜像,可以看到第一个就是我创建的镜像。,docker run -it --name aasee-flask01 -p 5000:5000 python-flask01。,20230306103456f7d9f5d94ede7fa15b13772697bdde77b38da0497,我这里使用的是-it而不是后台运行,大家也可以使用-d进行后台运行。,2023030610345621a95ce218a46dd1aa942364e07285e762dc05693,这样就运行成功了。,我们可以去postman测试以下或者直接在网页上测试一下接口,都是可以的。这里我就去postman测试了。,20230306103456b9ad93a596a90c3661e86630dfc3532585a8d8886,ok测试成功。说明服务可行。后端就基本上线了。日志文件可以通过,docker logs + 容器名或容器id。,2023030610381679497c490d4766cb24d221c0f4a31d89cca982502,20230306103457f932d67144e029247f5566bfc528b921fe8e63944,云托管部署当我们写出dockerfile文件之后就变得很简单了。首先先注册一个号 废话 。,20230306103458063f1a610692a3b50d12991df398901d700622963,创建好环境之后我们再新建一个服务,不使用模板,之后选择手动上传。,20230306103459d900db0082e15d68138919708f7637453bdc75599,选择刚刚我们上传到服务器的目录文件夹。点击高级设置,选择有dockerfile文件,云托管说白了就是一个docker。然后部署就行了。,2023030610345953d826556550e3677c86516b5c97132846c05d573,这样就部署完成了。接下来就可以使用它作为我们的后台了,当然前端页面也是如此使用。至于到底使用哪个好点,大家自己酌情选择。,​​想了解更多关于开源的内容,请访问:​​,​​51CTO 开源基础软件社区​​,​​https://ost.51cto.com​​。

© 版权声明

相关文章