docker入门实战
编写Docker file
# 1. 选择一个基础镜像 (Base Image)
# 这里我们选择官方的 Python 3.11 精简版 (slim),体积小且包含了 Python 运行环境
FROM python:3.11-slim
# 2. 设置工作目录 (Working Directory)
# 容器内部的一个目录,后续的操作都会在这个目录下进行
WORKDIR /app
# 3. 复制依赖文件并安装依赖
# 先复制 requirements.txt,这样如果依赖没变,Docker 可以利用缓存加速构建
# COPY 的 . 表示当前工作目录,即 /app → 文件会出现在 /app/requirements.txt
COPY requirements.txt .
# pip 安装的包会装到 Python 的 site-packages(如 /usr/local/lib/python3.11/site-packages/),不是 /app
RUN pip install --no-cache-dir -r requirements.txt
# 4. 复制我们的程序代码和数据文件到容器的 /app 目录下
COPY main.py .
COPY data.json .
# 5. 告诉 Docker 容器启动时要执行的默认命令
CMD ["python", "main.py"]
制作镜像
docker build -t k8s-demo-app:v1
docker build -t k8s-demo-app:v1 . 只会把镜像“打到”本机 Docker(也就是 Docker Desktop)里,不会自动上传到任何网站。
一、命令整体含义
这条命令的核心作用是:基于当前目录(.)下的Dockerfile文件,构建一个Docker镜像,并给这个镜像打上标签k8s-demo-app:v1。
二、逐部分拆解(小白友好版)
我们把命令拆成docker build、-t k8s-demo-app:v1、.三部分,逐个解释:
1. 基础指令:docker build
docker:调用Docker的命令行工具;build:Docker的子命令,含义是“构建镜像”;- 组合起来:告诉Docker,我要执行“构建镜像”这个操作。
2. 核心参数:-t k8s-demo-app:v1
-t:是--tag的简写,含义是“给镜像打标签(命名)”,这是构建镜像时最常用的参数(没有标签的镜像只能用长串ID标识,极难管理);k8s-demo-app:镜像的名称(你可以理解为“镜像的外号”,比如给你的应用镜像取名叫k8s-demo-app);::分隔符,用来区分“镜像名称”和“版本标签”;v1:镜像的版本标签(生产环境中绝对不能用latest,用v1/v2.1.0这种语义化版本,能精准追溯镜像版本);- 组合起来:给即将构建的镜像命名为
k8s-demo-app,版本号标记为v1。
运行容器
docker run --rm k8s-demo-app:v1。
Docker 用刚才打包好的镜像启动了一个隔离的运行环境(容器)。在这个容器内部,它自动执行了 python main.py,输出了我们熟悉的结果:

浙公网安备 33010602011771号