虚拟机
192.168.10.159 harbor.pdabc.com
安装docker
#修改hostname
hostnamectl set-hostname harbor
#关闭防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
#关闭swap
swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab
#下载docker源并安装docker和docker-compose
yum install -y wget
mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
yum clean all && yum makecache
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
cd /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
yum install -y docker-ce-18.06.1.ce-3.el7
systemctl enable docker && systemctl start docker
docker --version
下载和安装harbor
wget https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.2.tgz
tar -zxvf harbor-offline-installer-v1.8.2.tgz
cd harbor
#修改 harbor.yml中的信息如下 hostname一定要修改
[root@harbor harbor]# cat harbor.yml
hostname: harbor.pdabc.com
http:
port: 80
harbor_admin_password: Harbor12345
database:
password: root123
data_volume: /data
clair:
updaters_interval: 12
http_proxy:
https_proxy:
no_proxy: 127.0.0.1,localhost,core,registry
jobservice:
max_job_workers: 10
chart:
absolute_url: disabled
log:
level: info
rotate_count: 50
rotate_size: 200M
location: /var/log/harbor
_version: 1.8.0
#执行prepare脚本
./prepare
#执行install.sh
./install.sh
#安装完成之后修改/etc/hosts添加本地解析(pc端需要测试的话上也要添加或者开通域名)
[root@harbor harbor]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.159 harbor.pdabc.com
#登陆测试 会报错 admin的密码在harbor.yml中有配置 默认是Harbor12345
docker login harbor.pdabc.com
修改或者添加/etc/docker/daemon.json如下
{
"insecure-registries": ["harbor.pdabc.com"]
}
#网上的例子是这样的 可以根据需要修改
{
"registry-mirrors": ["http://harbor.test.com"], #镜像加速地址
"insecure-registries": ["harbor.test.com","registry.cn-shenzhen.aliyuncs.com"], # Docker如果需要从非SSL源管理镜像,这里加上。
"max-concurrent-downloads": 10
}
#保存好之后重启docker
service docker restart
#再次登陆测试 登陆成功
#修改pc机的host之后 登陆测试http://harbor.pdabc.com/
#创建一个测试的项目 测试上传镜像(下面截图是创建完 上传后截图的)
我这边项目是设置成公开的
#在192.168.10.159的服务器上pull一个nginx1.14.0版本测试上传
[root@harbor ~]# docker pull nginx:1.14.0
1.14.0: Pulling from library/nginx
f17d81b4b692: Pull complete
3df1ab0a1750: Pull complete
576b56a453df: Pull complete
Digest: sha256:8b600a4d029481cc5b459f1380b30ff6cb98e27544fc02370de836e397e34030
Status: Downloaded newer image for nginx:1.14.0
#使用命令docker images |grep 1.14.0查看 nginx镜像
[root@harbor ~]# docker images |grep 1.14.0
nginx 1.14.0 ecc98fc2f376 10 months ago 109MB
#给这个nginx镜像打一个tag
[root@harbor ~]# docker tag nginx:1.14.0 harbor.pdabc.com/test/nginx-14
#提醒一下 使用docker push上传 上传成功 这里不要用ip否则会报443的错误
Get https://192.168.10.158/v2/: dial tcp 192.168.10.158:443: connect: no route to host
[root@harbor ~]# docker push harbor.pdabc.com/test/nginx-14
The push refers to repository [harbor.pdabc.com/test/nginx-14]
19c605f267f4: Pushed
f4a5f8f59caa: Pushed
237472299760: Pushed
latest: digest: sha256:d43aa3719937f9df0502f8258f3034a21b720b5b9bbf01bbfdbd09871aac8930 size: 948
#查看test下面是否有镜像
#下载一下镜像测试 下载镜像的命令如果偷懒的话 可以在harbor里找到 点击复制
#在另一台服务器kubernetes-node-03上测试 注意:需要添加/etc/hosts并且修改/etc/docker/daemon.json
[root@kubernetes-node-03 ~]# service docker reload
Redirecting to /bin/systemctl reload docker.service
[root@kubernetes-node-03 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.aliyuncs.com/google_containers/kube-proxy v1.15.2 167bbf6c9338 4 weeks ago 82.4MB
quay.io/coreos/flannel v0.11.0-amd64 ff281650a721 7 months ago 52.6MB
registry.aliyuncs.com/google_containers/pause 3.1 da86e6ba6ca1 20 months ago 742kB
[root@kubernetes-node-03 ~]# docker pull harbor.pdabc.com/test/nginx-14:latest
latest: Pulling from test/nginx-14
f17d81b4b692: Pull complete
3df1ab0a1750: Pull complete
576b56a453df: Pull complete
Digest: sha256:d43aa3719937f9df0502f8258f3034a21b720b5b9bbf01bbfdbd09871aac8930
Status: Downloaded newer image for harbor.pdabc.com/test/nginx-14:latest
[root@kubernetes-node-03 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.aliyuncs.com/google_containers/kube-proxy v1.15.2 167bbf6c9338 4 weeks ago 82.4MB
quay.io/coreos/flannel v0.11.0-amd64 ff281650a721 7 months ago 52.6MB
harbor.pdabc.com/test/nginx-14 latest ecc98fc2f376 10 months ago 109MB
registry.aliyuncs.com/google_containers/pause 3.1
#在kubernetes-node-03上测试push命令
[root@kubernetes-node-03 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.aliyuncs.com/google_containers/kube-proxy v1.15.2 167bbf6c9338 4 weeks ago 82.4MB
quay.io/coreos/flannel v0.11.0-amd64 ff281650a721 7 months ago 52.6MB
harbor.pdabc.com/test/nginx-14 latest ecc98fc2f376 10 months ago 109MB
registry.aliyuncs.com/google_containers/pause 3.1 da86e6ba6ca1 20 months ago 742kB
[root@kubernetes-node-03 ~]# docker tag harbor.pdabc.com/test/nginx-14 harbor.pdabc.com/test/nginx-14-01:1.14.0
#这里如果不登录 push会报错
[root@kubernetes-node-03 ~]# docker push harbor.pdabc.com/test/nginx-14-01:1.14.0
The push refers to repository [harbor.pdabc.com/test/nginx-14-01]
19c605f267f4: Preparing
f4a5f8f59caa: Preparing
237472299760: Preparing
denied: requested access to the resource is denied
[root@kubernetes-node-03 ~]# docker login harbor.pdabc.com
Username: admin
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
[root@kubernetes-node-03 ~]# docker push harbor.pdabc.com/test/nginx-14-01:1.14.0
The push refers to repository [harbor.pdabc.com/test/nginx-14-01]
19c605f267f4: Mounted from test/nginx-14
f4a5f8f59caa: Mounted from test/nginx-14
237472299760: Mounted from test/nginx-14
1.14.0: digest: sha256:d43aa3719937f9df0502f8258f3034a21b720b5b9bbf01bbfdbd09871aac8930 size: 948