在本章节中,我们将通过一个简单的“Hello World”示例来介绍 Docker 的基本概念和使用方法。这个示例将帮助你理解容器化的基本原理,并且学会如何创建、运行、停止和删除 Docker 容器。
在开始之前,请确保你的系统上已经安装了 Docker。你可以根据你使用的操作系统来参考前文选择相应的安装方式。
创建一个简单的 Dockerfile
Dockerfile 是用于自动化构建 Docker 镜像的脚本文件。让我们从一个简单的“Hello World”程序开始:
- 在你选择的目录中创建一个新的文件夹,例如
hello-world
。 - 在该文件夹中创建一个名为
Dockerfile
的新文件。注意文件名是区分大小写的,并且没有文件扩展名。
编辑 Dockerfile
文件,添加以下内容:
-- -------------------- ---- ------- - ----- ------ ---- ---- --------------- - ------ ------- ---- - ----------------- ---- --- ---- - ---- - -------- --- --- ------- ----- - ----- ---- -- ------ ---- - ---- --- ---------- ---------
这个 Dockerfile 定义了一个基于 Python 3.9 的镜像,并且包含了一个简单的 Flask 应用。我们将在稍后的步骤中运行它。
编写一个简单的 Flask 应用
在同一目录下创建一个名为 app.py
的文件,内容如下:
-- -------------------- ---- ------- ---- ----- ------ ----- --- - --------------- --------------- --- -------------- ------ ------- ------- -- -------- -- ----------- ----------------------- ----------
这个简单的 Flask 应用会在根路径 /
返回 “Hello, World!” 字样。
构建 Docker 镜像
打开终端或命令提示符,切换到包含 Dockerfile
的目录,然后运行以下命令来构建 Docker 镜像:
docker build -t hello-world .
这里的 -t
参数用于指定镜像的名称(这里是 hello-world
),.
表示 Dockerfile 所在的目录。
运行 Docker 容器
构建完镜像后,可以使用以下命令来启动一个新的容器:
docker run -d -p 4000:5000 hello-world
这里 -d
参数表示容器将以分离模式(后台运行),-p 4000:5000
将主机的 4000 端口映射到容器的 5000 端口。这样我们就可以通过访问 http://localhost:4000
来查看应用的输出了。
验证运行结果
打开浏览器并访问 http://localhost:4000
,你应该能看到页面上显示 “Hello, World!” 的字样。
停止和删除容器
如果想要停止正在运行的容器,可以先找到容器的 ID 或名称:
docker ps
这会列出所有正在运行的容器。假设容器的 ID 或名称为 my_container
,那么可以使用以下命令来停止它:
docker stop my_container
停止后,如果想彻底清理掉这个容器,可以使用以下命令:
docker rm my_container
此外,如果你不再需要这个镜像,也可以通过以下命令来删除它:
docker rmi hello-world
总结
通过以上步骤,我们已经成功地创建并运行了一个简单的 Flask 应用,并将其容器化。这只是一个起点,Docker 提供了许多强大的功能,如网络配置、数据卷、多阶段构建等,可以帮助你在更复杂的项目中实现高效的开发和部署流程。