docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > Docker 打包 K8s

Docker 打包 K8s镜像的应用实例

作者:姚毛毛-aione1.com

文章介绍了如何使用Docker打包和部署Kubernetes镜像,包括准备工作、创建Dockerfile、构建镜像、测试运行、推送镜像、Kubernetes部署文件示例、部署到Kubernetes等步骤,并提供了注意事项和最佳实践,感兴趣的朋友一起看看吧

一. 准备工作

1. 安装 Docker: 官方安装文档

https://docs.docker.com/get-docker

2. 准备应用代码(示例使用 Node.js 应用)

二. 创建 Dockerfile

```dockerfile
# 使用官方基础镜像
FROM node:18-alpine
# 设置工作目录
WORKDIR /app
# 复制依赖文件
COPY package*.json ./
# 安装依赖
RUN npm install
# 复制源代码
COPY . .
# 暴露端口
EXPOSE 8080
# 启动命令
CMD ["npm", "start"]
```

3、构建镜像(注意最后的点号)

docker build -t my-app:1.0.0 .
#查看镜像
docker images | grep my-app

4、测试运行

运行容器
docker run -d -p 8080:8080 --name my-app my-app:1.0.0
验证运行
curl <http://localhost:8080>

5、推送镜像到仓库

# 登录 Docker Hub
docker login
# 标记镜像
docker tag my-app:1.0.0 username/my-app:1.0.0
# 推送镜像
docker push username/my-app:1.0.0

6、 Kubernetes 部署文件示例

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: username/my-app:1.0.0
         ports:
         - containerPort: 8080
         resources:
           limits:
             memory: "512Mi"
             cpu: "500m"

service.yaml

  apiVersion: v1
  kind: Service
  metadata:
    name: my-app-service
  spec:
    selector:
      app: my-app
    ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
    type: LoadBalancer

7、部署到 Kubernetes

kubectl apply -f deployment.yaml
kubectl apply -f service.yaml
# 查看部署状态
kubectl get pods
kubectl get service

三、注意事项 ‌

8、常用调试命令

# 查看容器日志
kubectl logs <pod-name>
# 进入容器调试
kubectl exec -it <pod-name> -- /bin/sh
# 删除部署
kubectl delete -f deployment.yaml

四、注意事项

9、最佳实践

到此这篇关于 Docker 打包 K8s镜像的文章就介绍到这了,更多相关 Docker 打包 K8s内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文