一、基本概念
Docker
Docker 是一个开源的容器化平台,提供了一种轻量级的方式来打包、运行和管理应用程序及其依赖项。通过 Docker,你可以:
- 容器化应用程序:将代码、依赖项和配置打包成一个独立的容器镜像。
- 便携性:一次构建,随处运行,无论是开发环境、测试环境还是生产环境。
- 高效资源利用:容器共享操作系统内核,比虚拟机更轻量。
Kubernetes (K8s)
Kubernetes 是一个用于自动化容器部署、扩展和管理的开源平台。它的主要功能包括:
- 容器编排:管理多个容器应用(如负载均衡、服务发现)。
- 自动扩展:根据负载自动扩展或缩减容器实例。
- 高可用性:支持容错机制,自动恢复失败的容器。
- 滚动更新和回滚:安全地更新应用而不会造成中断。
二、开发、调试、部署、打包和交付
1. 安装 Docker Desktop
- 下载并安装 Docker Desktop。
- 启动 Docker Desktop,并确保 Docker Daemon 运行正常。
2. 开发
-
创建 Dockerfile
Dockerfile 是 Docker 容器镜像的构建脚本,定义了基础镜像、依赖安装、代码拷贝等操作。示例:
# 使用官方 Node.js 镜像作为基础镜像 FROM node:16 # 设置工作目录 WORKDIR /app # 拷贝 package.json 并安装依赖 COPY package.json . RUN npm install # 拷贝代码 COPY . . # 暴露应用运行的端口 EXPOSE 3000 # 启动命令 CMD ["npm", "start"]
-
构建镜像
docker build -t my-node-app .
-
运行容器
docker run -p 3000:3000 my-node-app
访问
http://localhost:3000
验证是否正常运行。
3. 调试
-
挂载代码和实时热更新
使用挂载功能在容器中实时加载本地代码:docker run -p 3000:3000 -v $(pwd):/app my-node-app
-
查看容器日志
docker logs