应用说明
如何通过一步操作在新机器上设置你的项目
在上一节中,我们介绍了 Docker 中的数据处理以及基本命令的使用。现在是时候开始学习 Docker 指令了,这些指令将帮助我们在任何桌面环境中自动化手动项目设置。
Docker 的功能远不止一次性搭建项目。它还提供了许多其他功能,但 Dockerfile 是所有这些功能的基础。
Flask 应用的 Dockerfile
要开始编写 Dockerfile,我们需要一个项目。我们将使用 Flask 框架,这是一个非常轻量级的框架,新手也能轻松理解。
由于我们关注的是 Docker 的基础知识而非编程本身,因此这个应用会非常简单。这有助于我们更专注于 Docker 而不是代码细节。否则,我们会花太多时间在理解代码上,而忽略了核心主题。所以,我们的应用将实现一个常规的登录功能,这是每个 Web 应用都具备的基本功能。
该应用包含一个登录/注册表单,在后端,我们将用户凭证暂时存储在一个字典中。用户通过输入凭证登录,如果成功,则显示欢迎信息;否则提示重新登录。
现在,我们来编写代码。
从现在起,你将开始编写代码,请执行
git clone https://github.com/venky8283/Docker.git克隆项目,并运行git log查看与本课相关的特定提交记录。 本课对应的提交为:git checkout 114b58be8ce05029d397b5206e3a1ece9720fdfd。
No configuration found for ID: 46a764d06e8cbe4104726bc6bebc87de3cd8e139f142ab46915256317d15e319
应用实现
在文件资源管理器中,你会看到三个文件和一个文件夹。
.flaskenv:这是一个隐藏的 Linux 文件,用于声明 Flask 专用的环境变量。
Windows 用户可使用命令
set FLASK_APP=app.py和set FLASK_ENV=development在运行 Flask 代码的同一窗口中设置环境变量。如果你未安装 python-dotenv 包,可以使用此方法。
requirements.txt:该文件列出了运行本应用所需的所有依赖项。稍后我们将通过一条命令一次性安装全部依赖。
templates/form.html:从名称即可看出,这里存放的是登录页面的 HTML 表单代码。Flask 会自动在名为 templates 的文件夹中查找 HTML 模板,因此将模板放在 templates 文件夹是一种良好的实践。
此时,如果你已经点击了运行按钮,可能已经在控制台看到一些输出。如果你清楚当前发生了什么以及代码是如何运行的,可以跳过下一章节。
如果你尝试通过输出窗口提供的链接访问演示站点,目前将无法访问。我们将在课程后续部分学习如何解决这个问题。
让我们先喝杯咖啡,来理解一下这段代码是如何运行的。
如果还不太明白也没关系,我们将在下一章详细讲解。