Lab 03 - 构建你的第一个 Docker 镜像
目标
- 编写 Dockerfile
- 构建自定义镜像
- 运行并测试容器
- 理解镜像分层
步骤
1. 查看项目文件
bash
ls -la
cat app.py # Flask 应用
cat requirements.txt # Python 依赖
cat Dockerfile # 构建指令2. 构建镜像
bash
docker build -t my-flask-app:v1 .观察构建过程,注意每一步对应 Dockerfile 中的一条指令。
3. 查看镜像
bash
docker images my-flask-app
docker image history my-flask-app:v14. 运行容器
bash
docker run -d --name flask-lab -p 5000:5000 my-flask-app:v15. 测试
bash
# 使用 curl 测试
curl http://localhost:5000
curl http://localhost:5000/health
# 或在浏览器打开 http://localhost:50006. 查看容器信息
bash
docker logs flask-lab
docker inspect flask-lab
docker stats flask-lab --no-stream7. 体验缓存机制
修改 app.py 中的 message 内容,重新构建:
bash
docker build -t my-flask-app:v2 .注意观察哪些步骤使用了缓存(CACHED),哪些重新执行了。
8. 清理
bash
docker stop flask-lab
docker rm flask-lab
docker rmi my-flask-app:v1 my-flask-app:v2思考题
- 为什么
COPY requirements.txt .和COPY . .要分成两步? --no-cache-dir参数有什么作用?- 如果你只修改了
app.py,重新构建时哪些层会使用缓存?
