使用 Dockerfile 创建第一个 Docker 镜像的分步指南

使用 Dockerfile 创建第一个 Docker 镜像的分步指南

使用 Dockerfile 构建您的第一个 Docker 镜像,类似于编写一份指导 Docker 为您的应用程序组装独立软件包的配方。此 Dockerfile 汇集了详细的指令,包括选择基础镜像、复制应用程序代码、安装必要的依赖项以及指定如何启动应用程序。Docker 会解释这些指令,创建可在任何兼容系统上运行的镜像,从而免除跨不同服务器进行重复的手动设置。

在着手创建初始 Docker 镜像之前,请确保 Docker 已在您的机器上正确安装并可运行,并且您对 Docker 的功能和概念有基本的了解。

了解 Docker 镜像

Docker 镜像是一个紧凑的独立软件包,包含应用程序顺利运行所需的一切,包括代码、工具和任何必要的库。通过封装所有依赖项,Docker 镜像可以在各种环境中提供一致性,从而显著简化部署流程。

解码 Dockerfile

Dockerfile 本质上是一个纯文本文件,其中嵌入了使用领域特定语言 (DSL) 的特定命令。这些命令告诉 Docker 如何构建自定义镜像,并充当构建蓝图,描述构建镜像所需的每个操作。

在应用程序开发早期编写 Dockerfile 至关重要。Docker 会按顺序从上到下处理文件中列出的命令,以生成最终镜像,因此 Dockerfile 是开发生命周期中至关重要的一部分。

本质上,Dockerfile 是 Docker 镜像的源代码。

从 Dockerfile 构建 Docker 镜像的步骤

要开始构建 Docker 镜像,首先要创建一个 Dockerfile 并向其中填充相应的指令。然后,执行docker build命令生成镜像。创建完成后,该镜像可以在任何安装了 Docker 的系统上轻松运行容器。

创建你的 Dockerfile

使用文本编辑器(例如 Vim 或 Nano)在项目目录中创建一个新的 Dockerfile:

nano Dockerfile

将指令插入 Dockerfile

接下来,在 Dockerfile 中指定以下代码来为 Python 应用程序设置环境:

FROM ubuntu:latestWORKDIR /usr/src/appCOPY..RUN apt-get update &&apt-get install -y \ python3 \ python3-pipCMD ["python3", "mteScript.py"]

在此代码片段中,我们将 Ubuntu 指定为基础映像,将所有文件从当前主机目录传输到容器中,安装 Python 和 pip,并配置默认命令以执行名为的 Python 脚本mteScript.py

添加说明 Dockerfile

设置示例 Python 脚本

mteScript.py在与 Dockerfile 相同的目录中创建一个 Python 文件:

def message(): print("Hi Geeks! Welcome to maketecheasier.com")if __name__ == "__main__": message()

这个简单的脚本将在容器启动时执行,让您验证图像是否正常运行。

构建 Docker 镜像

使用以下命令创建所需的 Docker 镜像。此命令引用默认的 Dockerfile,执行其指令,并生成名为 的镜像python-docker-demo

sudo docker build -t python-docker-demo.

构建 Docker 镜像

sudo docker build -f ExampleDockerfile -t python-docker-demo.

确认创建Docker镜像

构建 Docker 镜像后,通过执行以下命令检查其是否成功创建:

sudo docker images

这将显示系统上的所有 Docker 镜像,包括您刚刚构建的镜像:

验证 Docker 镜像创建

执行 Docker 镜像进行测试

要在本地验证 Docker 映像,请使用以下命令启动容器:

sudo docker run python-docker-demo

此命令使用镜像初始化 Docker 容器python-docker-demo,按照其标准配置,并直接在终端中显示输出:

运行 Docker 镜像进行测试

结论

使用 Dockerfile 创建第一个 Docker 镜像是掌握容器化应用程序开发的关键一步。此过程使您能够控制应用程序的环境,确保跨不同系统的一致运行性能,并简化部署体验。

从这里开始,您可以通过学习高效的容器管理技术或探索高级应用程序(例如在 Docker 环境中运行图形用户界面 (GUI) 应用程序)来扩展您的 Docker 知识。

来源和图片

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注