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
6. 执行安装./install.sh
,出现如下界面就安装成功了
7. 打开ip:端口进入Harbor登录界面,账号默认是admin
,密码Harbor12345
密码在上面的harbor.yml配置文件中可以找到,安装的时候也可以直接修改掉。
然后添加项目成员名称要对应
4.客户端登录及推送镜像至私有仓库
本地docker重启之后再重新执行登录,提示登录成功字样Succeeded如下图2. 给镜像加上私有仓库标签docker tag 镜像名:版本号 ip:端口/项目名/镜像名:版本号
,如图3. 执行推送docker push ip:端口/项目名/镜像名:版本号
查看harbor镜像仓库可以看到刚才推送的镜像了
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
修改完之后上传执行
执行成功后你会发现pods里面多了两个因为上面的配置文件里replicas这个设置为2了,这边pod几个就是根据这个参数生成的,可以根据需求自己调节
http://服务器ip:对外端口
成功之后访问自己的网站就可以看到网站内容了
本章结束
以下为遇到错误的记录和解决方案如下: