Debian Stream是Debian项目的滚动更新分支,旨在为用户提供最新的稳定软件包。目前(2025年),Debian Stream 8并非官方正式版本(截至2025年9月,Debian最新稳定版本为Debian 12 “Bookworm”,Stream分支以"Debian Testing"形式存在)。若需基于Debian生态进行容器化实践,建议选择**Debian 12(稳定版)**或其对应的Stream分支(如Debian Testing),以确保软件包支持和安全性。
Docker是Debian环境下容器化的核心工具,以下是在Debian 12/Stream Testing上的安装步骤:
sudo apt update && sudo apt upgrade -y
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
sudo docker run hello-world
若输出"Hello from Docker!",则说明安装成功。
Docker Hub提供了官方Debian镜像,可根据需求选择版本:
docker pull debian:12docker pull debian:testing拉取镜像后,可通过docker images查看本地镜像列表。
通过Dockerfile可定制Debian容器环境(如安装软件、配置服务)。以下是一个Debian 12基础镜像+Python环境的示例:
mkdir debian-python-app && cd debian-python-app
# 使用Debian 12作为基础镜像
FROM debian:12
# 设置环境变量(避免交互式配置)
ENV DEBIAN_FRONTEND=noninteractive
# 更新包索引并安装Python3及pip
RUN apt update && \
apt install -y python3 python3-pip && \
rm -rf /var/lib/apt/lists/*
# 设置工作目录
WORKDIR /app
# 复制应用代码到容器
COPY . /app
# 安装Python依赖
RUN pip3 install --no-cache-dir -r requirements.txt
# 暴露应用端口(如Flask默认80端口)
EXPOSE 80
# 定义启动命令
CMD ["python3", "app.py"]
docker build -t debian-python-app:1.0 .
构建完成后,可通过docker images查看新镜像。
docker run -d -p 4000:80 --name my-debian-app debian-python-app:1.0
-d:后台运行容器;-p 4000:80:将主机4000端口映射到容器80端口;--name:指定容器名称。| 命令 | 说明 |
|---|---|
docker ps |
查看运行中的容器 |
docker logs my-debian-app |
查看容器日志 |
docker exec -it my-debian-app /bin/bash |
进入容器终端(交互模式) |
docker stop my-debian-app |
停止容器 |
docker rm my-debian-app |
删除容器 |
docker rmi debian-python-app:1.0 |
删除镜像 |
若容器内需要保存数据(如数据库、日志),需将主机目录挂载到容器:
docker run -d -p 4000:80 -v /host/data:/app/data --name my-debian-app debian-python-app:1.0
-v /host/data:/app/data:将主机/host/data目录映射到容器/app/data目录。创建自定义网络可实现容器间通信(如微服务架构):
# 创建网络
docker network create my-network
# 运行容器并加入网络
docker run -d --network my-network --name my-debian-app debian-python-app:1.0
容器间可通过名称(如my-debian-app)直接访问,无需使用IP。
debian:12),避免第三方镜像的安全风险;debian:slim(约80MB)替代debian:12(约1.2GB),并通过多阶段构建优化;root用户运行容器,可通过--user参数指定非root用户。