下面是正文内容:
在使用传统物理机或云服务器上部署项目都会存在一些痛点
比如:项目部署速度慢、资源浪费、迁移难且扩展低
而使用 Docker 部署项目的优势包含:
高效利用系统资源
服务启动更快
环境一致,迁移更加方便
本篇文章将介绍 Docker 部署一个 Python 项目的常规流程
1. Dockerfile 描述文件
Dockerfile 是一个放置在项目根目录下的描述文件,可以利用 Docker 命令基于该文件构建一个镜像
常用的指令包含:
2. 实战一下
使用 Docker 部署应用的常规流程是:
开发项目并本地测试通过
编写 Dockerfile 放置到项目根目录
打包镜像文件
运行镜像容器
测试
为了演示方便,这里以一个简单的 Flask 项目为例进行讲解
2-1 项目开发
from flask import Flask
# 安装依赖
# pip3 install -U flask
app = Flask(__name__)
@app.route('/')
def index():
return "测试容器部署!"
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8888)
# 浏览器访问测试
# http://127.0.0.1:8888/
项目开发完成,并在本地测试通过后就可以编写 Dockerfile 文件了
2-2 编写 Dockerfile
在项目根目录下,创建一个 Dockerfile 文件,使用上面的指令编写描述脚本
需要注意的是,这里使用「 EXPOSE 」指令暴露的端口号与入口文件定义的端口号保持一致
# Dockerfile
FROM centos:7.9.2009
RUN yum makecache fast;
RUN yum install python3-devel python3-pip -y
RUN pip3 install -i https://pypi.douban.com/simple flask
COPY main.py /opt
WORKDIR /opt
EXPOSE 8888
CMD ["python3","main.py"]
2-3 构建镜像
# 在当前文件夹下,根据Dockerfile文件构建一个镜像
# 镜像名称:xag/my_flask_web
# --no-cache:不使用旧的缓存进行镜像构建
docker build --no-cache -t "xag/my_flask_web" .
2-4 运行镜像容器
使用 docker run 命令基于镜像运行一个容器
其中
-d:代表容器在后台运行,不是基于前台运行
--name:用于执行容器的别名
-p:用于配置宿主机与容器的端口映射
# -d:后台运行
# 宿主机(9999)映射容器内的8888(上面Dockerfile已经暴露了8888端口)
docker run -d --name flask_web -p 9999:8888 xag/my_flask_web
2-5 测试一下
最后在浏览器中,通过宿主机暴露的端口号 9999 访问项目了
访问地址:http://127.0.0.1:9999/
3. 总结
文章中以一个简单的 Web 项目阐述了利用 Docker 部署项目的常规流程
实际上,Dockerfile 非常的灵活,它还支持 ARG/ENV 设置环境变量,VOlUME 指令挂载目录,ENTRYPOINT 配置启动程序和参数等,这部分内容大家可以根据官网介绍自行进行扩展
https://docs.docker.com/engine/reference/builder/
最后推荐一下我的ChatGPT星球,带领更多人用上 ChatGPT。无论你是学生,职场人士,还是全职宝妈,跟着我都能熟练掌握 ChatGPT,极大的提高你的创作能力和解决问题能力。入星球钱若有疑惑,咨询可 V: zlong0876,备注:星球咨询
ChatGPT 的风口正到来!
作为我们普通人,为了跟上时代,更应该马上行动,真正了解并熟练使用 ChatGPT。未来围绕着 ChatGPT 将会涌现出无数多的机会。我们一定要在这个领域内做点事情。如果在这个新的技术浪潮中,抓住一点点小的机会,那给我们人生带来的改变必然是巨大的!
我相信有很多人没有 ChatGPT 的账号,或许连注册都不太会。跟着我们一起学习,这些方法我们都会手把手交给你!
目前我们星球 200 多人了,球友们都成功注册了,目前知道的可以通过一些特殊的邮箱和成功注册到 GPT 的账号!你一个人单打独斗玩 GPT 会遇到很多问题,费时费力,需要抱团取暖,才能走的更远!
如果你想快速上手、熟练应用 ChatGPT,获取第一首关于 ChatGPT 的资料,利用 ChatGPT 提升工作效率,获取 ChatGPT 变现机会等。请务必加入知识星球:ChatGPT 研究院。今天加入星球的小伙伴,直接送 ChatGPT 独立账户(数量有限)!
所以如果你真的感兴趣,一定建议这个阶段加入,我们特别推荐,加入知识星球72小时内如果不满意,可以无理由退出,然后款项原路返回,你也没损失.
入球福利:
考虑到很多小伙伴搞不定 ChatGPT 账号的问题,我们决定,凡是今天加入 ChatPGT 研究院的小伙伴,我们都会直接送一个 ChatGPT 独立账户。
这个星球能够为你提供什么服务呢?
1、ChatGPT 基础用法:账号注册、使用教程、基本玩法、提问技巧。
2、ChatGPT 前沿资讯、第一首资料、开源项目。
3、交流共享 ChatGPT 的各种信息,资源互换,答疑关于 ChatGPT 的问题,陪伴式学习与使用 ChatGPT.
4、分享如何利用 ChatGPT 提升工作效率,分享变现机会。
5、凡是今天加入星球都有一项重磅福利:免费获得 ChatGPT 独立账号一个。
我们第一期的定价是 198 元一年,这两天星球在试运营阶段,我们给出了加入的最低价 158,后面随着星球人数的增长,星球费用也会随之增长(破 1000 人涨价 10 元)。建议大家尽早以便宜的价格加入哦!
感兴趣的朋友们,欢迎扫码加入本星球:

机不可失失不再来!希望大家能在 2023 年抓住 ChatGPT 的风口,持续进步!
最后,无论是否加入,点击下方名片回复“chatgpt”送您一套ChatGPT入门资料