我的简易 Docker 项目

发布: (2025年12月28日 GMT+8 02:48)
3 分钟阅读
原文: Dev.to

Source: Dev.to

Cover image for My Simple Docker Project

Source:

🐳 构建一个简单的 “Hello World” Docker 项目

🚀 在本指南中,我们将创建一个容器化的 Python Web 应用程序,显示 “Hello World” 信息。此教程适用于基于 Ubuntu/Debian 的 Linux 发行版。

🔹 系统准备

在开始之前,更新并升级系统软件包:

sudo apt update
sudo apt upgrade -y

安装 Docker 及其他必需的依赖:

sudo apt install ca-certificates curl gnupg

添加 Docker 官方 GPG 密钥

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/keyrings/docker.asc > /dev/null
sudo chmod a+r /etc/apt/keyrings/docker.asc

添加 Docker 软件源

echo "deb [signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装 Docker

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

验证安装:

docker --version

启动并启用 Docker:

sudo systemctl enable --now docker

检查 Docker 状态:

sudo systemctl status docker

🔹 安装 Docker Compose 插件

Ubuntu 现在使用 Docker Compose 插件而不是独立的二进制文件:

sudo apt install docker-compose-plugin -y

验证安装:

docker compose version

安装 Python Pip 以管理依赖

sudo apt install python3-pip
python3 -m pip install --upgrade pip

🔹 创建项目目录

设置目录结构:

mkdir docker-projects
cd docker-projects

🔹 创建 Python Web 应用

创建 app.py 文件:

touch app.py
nano app.py

粘贴以下 Python Flask 应用代码:

from flask import Flask
import redis

app = Flask(__name__)
cache = redis.Redis(host='redis', port=6379)

def get_hit_count():
    try:
        return cache.incr('hits')
    except redis.exceptions.ConnectionError:
        return 1

@app.route('/')
def hello():
    count = get_hit_count()
    return f"Hello World! You have visited {count} times."

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5000)

保存文件(CTRL + X,然后 Y)。

🔹 定义依赖

创建 requirements.txt 文件:

touch requirements.txt
nano requirements.txt

requirements.txt 中添加依赖:

Flask
redis

保存(CTRL + X,然后 Y)。

🔹 创建 Dockerfile

创建 Dockerfile

touch Dockerfile
nano Dockerfile

粘贴以下 Dockerfile 配置:

FROM python:3.9

WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
CMD ["python", "app.py"]

保存(CTRL + X,然后 Y)。

🔹 配置 Docker Compose

创建 docker-compose.yml 文件:

touch docker-compose.yml
nano docker-compose.yml

粘贴 Docker Compose 配置:

version: '3'

services:
  web:
    build: .
    ports:
      - "5000:5000"
    depends_on:
      - redis

  redis:
    image: "redis:alpine"

保存(CTRL + X,然后 Y)。⚠ YAML 文件对缩进敏感——运行前请先验证其正确性!

🔹 构建并运行项目

确保当前位于 docker-projects 目录:

cd docker-projects

启动容器:

sudo docker-compose up --build

🔹 测试 Web 应用

在浏览器中打开并访问 http://localhost:5000。你应该看到:

Hello World! You have visited 1 times.

刷新页面会增加访问计数。

🔹 停止容器

完成后关闭容器:

sudo docker-compose down
Back to Blog

相关文章

阅读更多 »