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。

  1. 创建一个应用文件夹

    mkdir my-python-app
    cd my-python-app
    
  2. 创建一个简单的 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)
    
  3. 创建一个 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

  4. 创建一个依赖文件requirements.txt):

    Flask==2.0.1
    
  5. 构建 Docker 镜像

    执行以下命令来构建 Docker 镜像:

    docker build -t my-python-app .
    
  6. 运行 Docker 容器

    使用以下命令来启动容器:

    docker run -p 5000:5000 my-python-app
    

    然后可以在浏览器中访问 http://localhost:5000,你将看到“Hello, Docker!”的字样。

小结

Docker 是一个强大的工具,通过容器化技术,奏效于开发和生产环境中,极大地简化了应用的部署和管理工作。通过本文中展示的创建 Python 应用的示例,你可以看到 Docker 的基本用法,并了解到如何构建和运行自己的应用容器。掌握 Docker,对现代软件开发流程的理解和实践是非常有帮助的。希望这篇文章对你有所启发!