Minikube部署私有镜像仓库

利用DockerHub在Minikube中部署Registry镜像,并通过Service访问,实现本地镜像的推送和拉取

Minikube中部署Registry

  1. 安装Minikube(略)

  2. Minikube中部署Registry

    # reigstry-deployment.yml
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: registry
      namespace: default
      labels:
        app: registry-server
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: registry-server
      template:
        metadata:
          labels:
            app: registry-server
        spec:
          containers:
            - name: registry
              image: registry
              imagePullPolicy: Always
              ports:
                - containerPort: 5000
    

    部署registry:

    kubectl create -f reigstry-deployment.yml
    
  3. 将Registry公开为Service

    # registry-service.yml
    apiVersion: v1
    kind: Service
    metadata:
      name: registry-service
      namespace: default
    spec:
      selector: 
        app: registry-server
      type: NodePort  
      ports:
        - port: 5000 # 内部服务之间访问service的入口
          targetPort: 5000 # 容器的端口
          nodePort: 31000 # service暴露的端口
    

    部署service:

    kubectl create -f registry-service.yml
    

推送和拉取镜像

推送镜像

  1. 暴露Registry的端口给宿主机

    minikube service <name>
    

    <name>为registry对应的service名,本文中为registry-service

    结果如下:

    |-----------|------------------|-------------|-------------------------|
    | NAMESPACE |       NAME       | TARGET PORT |           URL           |
    |-----------|------------------|-------------|-------------------------|
    | default   | registry-service |        5000 | http://172.17.0.3:31000 |
    |-----------|------------------|-------------|-------------------------|
    🏃  Starting tunnel for service registry-service.
    |-----------|------------------|-------------|------------------------|
    | NAMESPACE |       NAME       | TARGET PORT |          URL           |
    |-----------|------------------|-------------|------------------------|
    | default   | registry-service |             | http://127.0.0.1:39011 |
    |-----------|------------------|-------------|------------------------|
    🎉  Opening service default/registry-service in default browser...
    👉  http://127.0.0.1:39011
    ❗  Because you are using a Docker driver on linux, the terminal needs to be open to run it.
    

    其中http://127.0.0.1:39011是宿主机可以推送镜像的地址

  2. 将镜像标签设置对应上述仓库地址

    grafana/grafana为例:

    docker tag grafana/grafana:latest localhost:39011/grafana:latest
    

    推送镜像:

    docker push localhost:39011/grafana:latest
    

使用Registry中的镜像

容器镜像设置为localhost:<nodePort>/<imageName>即可,nodePort为Registry-Service暴露的nodePort值,示例如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: grafana-deployment
  namespace: test
  labels:
    app: grafana-server
spec:
  replicas: 1
  selector:
    matchLabels:
      app: grafana-server
  template:
    metadata:
      labels:
        app: grafana-server
    spec:
      containers:
        - name: grafana
          image: localhost:31000/grafana
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 3003
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Minikube部署Docker镜像的过程可以参考以下步骤: 1. 首先,在Minikube部署Registry镜像,并通过Service访问。这样可以实现本地镜像的推送和拉取。 2. 进入docker-demo文件夹,执行docker build命令生成镜像文件。使用命令`docker build -t halo26812/docker-demo:0.0.1 .`来生成镜像文件,其中`-t halo26812/docker-demo:0.0.1`表示设置镜像的名称和版本信息。 3. 可以使用`docker images`命令查看镜像是否成功构建,其中会显示REPOSITORY、TAG、IMAGE ID等信息。 4. 在Minikube上运行Docker镜像。使用`docker run`命令来运行镜像,其中`-dp 3000:8080`表示将容器的8080端口映射到主机的3000端口,`halo26812/docker-demo:0.0.1`是镜像的名称和版本信息。 通过以上步骤,你可以在Minikube中成功部署Docker镜像。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Minikube部署私有镜像仓库](https://blog.csdn.net/m0_46240003/article/details/127930479)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [minikube 实战篇 - 镜像打包部署 - 1](https://blog.csdn.net/exception_class/article/details/126272369)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值