• 1.简介

      第一篇提到的docker官方提供了镜像仓库是公共的,私有的是需要收费的,所以我们需要在自己的服务器搭建私有镜像仓库,这样也比较安全。docker官方提供的registry可以快速的搭建,但是它没有界面管理和高级权限控制,所以本文采用由 VMware 公司中国团队为企业用户设计的 Registry server 开源项目Harbor

    2.安装必须的依赖程序Docker Compose

    以上三个步骤执行完如下图:

    3.安装Harbor

    复制出来的链接如:https://github.com/goharbor/harbor/releases/download/v1.10.10/harbor-offline-installer-v1.10.10.tgz

    微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像-LMLPHP6. 执行安装./install.sh,出现如下界面就安装成功了

    微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像-LMLPHP7. 打开ip:端口进入Harbor登录界面,账号默认是admin,密码Harbor12345密码在上面的harbor.yml配置文件中可以找到,安装的时候也可以直接修改掉。

    微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像-LMLPHP然后添加项目成员名称要对应微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像-LMLPHP

    4.客户端登录及推送镜像至私有仓库

    微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像-LMLPHP本地docker重启之后再重新执行登录,提示登录成功字样Succeeded如下图微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像-LMLPHP2. 给镜像加上私有仓库标签docker tag 镜像名:版本号 ip:端口/项目名/镜像名:版本号,如图微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像-LMLPHP3. 执行推送docker push ip:端口/项目名/镜像名:版本号微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像-LMLPHP查看harbor镜像仓库可以看到刚才推送的镜像了微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像-LMLPHP

    5.kubernetes(k8s)部署镜像

    apiVersion: v1
    kind: Secret
    metadata:
      name: wyb01
      namespace: test
    data:
        .dockerconfigjson: ewoxxxxxxxxxxxxxxxxxxxxxxxTwq
    type: kubernetes.io/dockerconfigjson
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: wyb01
      namespace: test
      labels:
        name: wyb01
    spec:
      replicas: 2
      selector:
        matchLabels:
          name: wyb01
      template:
        metadata:
          labels:
            name: wyb01
        spec:
          imagePullSecrets:
          - name: wyb01
          containers:
          - name: wyb01
            image: ip:端口/wyb01/testzeta:1.0.0
            ports:
            - containerPort: 35678
            imagePullPolicy: Always

    ---

    kind: Service
    apiVersion: v1
    metadata:
      name: wyb01
      namespace: test
    spec:
      type: NodePort
      ports:
        - port: 35678
          targetPort: 35678
          NodePort: 30002
      selector:
        name: wyb01

    修改完之后上传执行

    微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像-LMLPHP执行成功后你会发现pods里面多了两个因为上面的配置文件里replicas这个设置为2了,这边pod几个就是根据这个参数生成的,可以根据需求自己调节

    微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像-LMLPHPhttp://服务器ip:对外端口成功之后访问自己的网站就可以看到网站内容了

    本章结束


    以下为遇到错误的记录和解决方案如下:

    01-25 16:30