Docker 与 Kubernetes 入门指南:从容器到编排
从零开始学习容器化技术,了解 Docker 的核心概念,掌握 Kubernetes 的基本操作。
什么是容器化?
容器化是一种将应用程序及其依赖项打包在一起的技术,确保应用在任何环境中都能一致运行。
Docker 基础
核心概念
创建第一个 Dockerfile
# 使用 Node.js 官方镜像
FROM node:18-alpine
# 设置工作目录
WORKDIR /app
# 复制 package.json
COPY package*.json ./
# 安装依赖
RUN npm install
# 复制源代码
COPY . .
# 构建应用
RUN npm run build
# 暴露端口
EXPOSE 3000
# 启动命令
CMD ["npm", "start"]
常用 Docker 命令
# 构建镜像
docker build -t my-app .
# 运行容器
docker run -p 3000:3000 my-app
# 查看运行中的容器
docker ps
# 停止容器
docker stop <container_id>
# 查看日志
docker logs <container_id>
Kubernetes 入门
核心概念
创建 Deployment
# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: my-app:latest
ports:
- containerPort: 3000
创建 Service
# service.yaml
apiVersion: v1
kind: Service
metadata:
name: my-app-service
spec:
selector:
app: my-app
ports:
- port: 80
targetPort: 3000
type: LoadBalancer
常用 kubectl 命令
# 应用配置
kubectl apply -f deployment.yaml
# 查看 Pod
kubectl get pods
# 查看服务
kubectl get services
# 查看日志
kubectl logs <pod_name>
# 进入 Pod
kubectl exec -it <pod_name> -- /bin/sh
# 扩缩容
kubectl scale deployment my-app --replicas=5
总结
Docker 和 Kubernetes 是现代云原生应用的基础。掌握这些技术可以帮助你构建更可靠、更易于扩展的应用程序。
Bruce
全栈开发工程师,热爱技术分享
感谢阅读!如果这篇文章对你有帮助,欢迎分享给更多的朋友。