《Docker 入门实战:用容器部署一个静态网页服务》
·
Docker 入门实战:用容器部署静态网页服务
1. Docker与容器化基础
容器化技术通过隔离环境实现轻量级虚拟化,其核心优势可表示为: $$资源利用率 = \frac{应用实际占用资源}{物理机总资源} \times 100%$$ Docker作为主流容器引擎,比传统虚拟机节省$70%$以上资源,启动时间从分钟级降至秒级。
2. 准备静态网页
创建基础网页文件:
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<title>Docker实战</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>容器化部署成功!</h1>
<script src="app.js"></script>
</body>
</html>
/* style.css */
body { background: #f0f8ff; text-align: center; }
h1 { color: #2c3e50; }
// app.js
console.log("页面加载完成");
3. 编写Dockerfile
创建构建蓝图:
# 使用官方Nginx镜像作为基础
FROM nginx:alpine
# 删除默认欢迎页
RUN rm -rf /usr/share/nginx/html/*
# 复制网页文件到容器
COPY ./web-content /usr/share/nginx/html
# 暴露80端口
EXPOSE 80
# 启动Nginx服务
CMD ["nginx", "-g", "daemon off;"]
4. 构建Docker镜像
在项目目录执行构建命令:
# 目录结构
project/
├── Dockerfile
└── web-content/
├── index.html
├── style.css
└── app.js
# 构建镜像 (-t指定镜像标签)
docker build -t my-webapp:v1 .
构建过程遵循分层存储原理: $$镜像大小 = \sum_{i=1}^{n} (基础层_i + 修改层_i)$$
5. 运行容器
启动容器并测试:
# 映射主机8080端口到容器80端口
docker run -d -p 8080:80 --name web-server my-webapp:v1
# 验证服务
curl http://localhost:8080
端口映射关系: $$主机端口:容器端口 \Rightarrow 8080:80$$
6. 容器管理技巧
- 查看运行状态:
docker ps - 检查日志:
docker logs web-server - 资源监控:
docker stats - 停止服务:
docker stop web-server
7. 进阶部署(可选)
推送镜像到Docker Hub:
# 登录Docker Hub
docker login
# 标记镜像
docker tag my-webapp:v1 username/my-webapp:v1
# 推送镜像
docker push username/my-webapp:v1
部署流程完成度: $$\text{部署进度} = \begin{cases} 100% & \text{本地运行成功} \ 120% & \text{云端部署完成} \end{cases}$$
最佳实践:
- 使用
.dockerignore排除无关文件- 多阶段构建减小镜像体积
- 设置健康检查
HEALTHCHECK指令- 通过环境变量配置服务参数
通过此实战,您已掌握容器化部署的核心流程,后续可扩展至动态网站、微服务等复杂场景。
更多推荐
所有评论(0)