Docker 科普文章
Docker 是一个开源项目,它提供了一个轻量级的容器化平台,使得开发者能够将应用及其所有依赖打包到一个独立的单元中,这个单元被称为“容器”。容器相比传统的虚拟机(VM)更加轻量,运行时也更为高效,使得应用的开发、部署、运行变得简单而快速。
Docker 的基本概念
Docker 的核心是镜像(Image)和容器(Container)。镜像是一个只读的模板,它包含了运行某个应用所需的所有代码、库、环境变量等。容器则是镜像的一个运行实例,可以理解为是镜像的一个具体操作。
Docker 的基本命令
在使用 Docker 前,必须首先安装 Docker。安装完成后,可以通过一系列命令与 Docker 进行交互。以下是一些常用的 Docker 命令:
命令 | 描述 |
---|---|
docker pull <image> |
从 Docker Hub 下载镜像 |
docker run <image> |
创建并启动一个容器 |
docker ps |
查看正在运行的容器 |
docker stop <container> |
停止某个运行中的容器 |
docker rm <container> |
删除一个已停止的容器 |
创建一个简单的 Docker 应用
接下来,我们将通过一个简单的示例,展示如何使用 Docker 创建一个运行 Python 的应用。首先,确保你已经安装好了 Docker。
-
创建一个应用文件夹:
mkdir my-python-app cd my-python-app
-
创建一个简单的 Python 脚本(
app.py
):# app.py from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return "Hello, Docker!" if __name__ == '__main__': app.run(host='0.0.0.0', port=5000)
-
创建一个 Dockerfile:
Dockerfile 是用于创建 Docker 镜像的文本文件。以下是一个简单的 Dockerfile,定义了 Python 环境及应用运行方式:
# Dockerfile FROM python:3.9-slim WORKDIR /usr/src/app COPY requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt COPY . . CMD ["python", "app.py"]
这里,我们使用了
python:3.9-slim
作为基础镜像,并指定工作目录为/usr/src/app
。 -
创建一个依赖文件(
requirements.txt
):Flask==2.0.1
-
构建 Docker 镜像:
执行以下命令来构建 Docker 镜像:
docker build -t my-python-app .
-
运行 Docker 容器:
使用以下命令来启动容器:
docker run -p 5000:5000 my-python-app
然后可以在浏览器中访问
http://localhost:5000
,你将看到“Hello, Docker!”的字样。
小结
Docker 是一个强大的工具,通过容器化技术,奏效于开发和生产环境中,极大地简化了应用的部署和管理工作。通过本文中展示的创建 Python 应用的示例,你可以看到 Docker 的基本用法,并了解到如何构建和运行自己的应用容器。掌握 Docker,对现代软件开发流程的理解和实践是非常有帮助的。希望这篇文章对你有所启发!