【揭秘K8s容器镜像制作】从零到英雄的实操教程

发布时间:2025-05-24 21:25:04

引言

容器镜像是容器化技巧中的核心不雅点,它封装了利用顺序及其运转情况,使得利用顺序可能在任何支撑Docker的情况中无缝运转。Kubernetes(K8s)作为容器编排东西,依附于容器镜像来安排跟管理当用顺序。本文将具体介绍怎样从零开端制造K8s容器镜像,并逐步深刻到实操过程。

一、筹备任务

1. 情况筹备

  • 操纵体系:推荐利用Linux体系,如CentOS 7。
  • Docker:确保Docker情况已安装并设置好。
  • Git:用于克隆项目代码。

2. 项目代码

抉择一个简单的项目,比方一个Node.js利用顺序,以便于后续的实操。

二、制造基本镜像

1. 编写Dockerfile

Dockerfile是用于构建镜像的剧本文件。以下是一个简单的Node.js利用顺序的Dockerfile示例:

# 利用官方Node.js基本镜像
FROM node:14

# 设置任务目录
WORKDIR /usr/src/app

# 复制package.json跟package-lock.json
COPY package*.json ./

# 安装项目依附
RUN npm install

# 复制项目源代码
COPY . .

# 裸露利用端口
EXPOSE 3000

# 启动利用
CMD ["npm", "start"]

2. 构建镜像

在项目根目录下履行以下命令构建镜像:

docker build -t my-node-app .

三、推送镜像到Harbor

1. 登录Harbor

docker login harbor.example.com

2. 推送镜像

docker push harbor.example.com/my-node-app:latest

四、在K8s中安排镜像

1. 创建K8s设置文件

创建一个名为deployment.yaml的设置文件,用于安排Node.js利用顺序:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-node-app
spec:
  replicas: 2
  selector:
    matchLabels:
      app: my-node-app
  template:
    metadata:
      labels:
        app: my-node-app
    spec:
      containers:
      - name: my-node-app
        image: harbor.example.com/my-node-app:latest
        ports:
        - containerPort: 3000

2. 利用设置文件

kubectl apply -f deployment.yaml

3. 验证安排

kubectl get pods

五、总结

经由过程以上步调,你曾经成功从零开端制造了K8s容器镜像,并将其安排到了Kubernetes集群中。这个过程涵盖了从编写Dockerfile、构建镜像、推送镜像到Harbor,再到在K8s中安排镜像的完全流程。盼望本文能帮助你更好地懂得K8s容器镜像制造的过程。