harbor就是一个类似于hub.docker.com的仓库. 这是我们自己搭建的一个仓库, 如果公司使用, 不可能把镜像都上传到hub.docker.com上, 费钱不说, 也不安全.
所以, 我们需要自己学会搭建一个这样的平台.
1. python 应该是2.7或更高版本
python
2. Docker引擎应为1.10或更高版本
3. Docker Compose需要为1.6或更高版本
https://github.com/goharbor/harbor/releases 下载offline的版本即可.
国内github很慢, 使用加速器下载: https://toolwa.com/github/
1. 将harbor上传到虚拟机上
2. 解压后,将其放到/usr/local下
openssl genrsa -des3 -out server.key 2048
输入密码:123456
openssl req -new -key server.key -out server.csr
输入上一步的密码:123456
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
mkdir -p /data/cert //名字不可变
mv server.* /data/cert/
chmod -R 777 /data/cert
进入到/usr/local/harbor目录
修改harbor.yml配置文件, 修改内容如下
设置访问的域名为hub.lxl.com
hostname: hub.lxl.com
# 设置https访问的证书
https:
certificate: /data/cert/server.crt
private_key: /data/cert/server.key
# 设置root登录密码为123456
harbor_admin_password: 123456
看到这个提示,就是成功了
这是执行
docker ps -a
后台已经执行了一些进程了
192.168.198.143 hub.lxl.com
指定访问hub.lxl.com的时候,跳转到192.168.198.143服务器上
https://hub.lxl.com/
这个网址, 我通过google打不开, 报异常
使用mac自带的浏览器可以打开, 输入用户名/密码
admin/123456
1. 系统管理
登录到harbor仓库以后, 我们可以看到当前有一个公共的项目, 其访问级别是public.
public的含义是, 各个用户登录后都可以看到这个仓库. 这个仓库可以用来存放一些基础镜像
2. 用户管理
添加一个新用户sa, 密码是!QAZ2wsx
在admin账号下,新建一个私有仓库docker. 这个仓库只有admin账户可以访问
使用sa登录, 将看不到docker仓库
第三步: 切换账号sa登录,
sa/!QAZ2wsx
新建一个仓库叫sa, 并且是私有的.
第四步: 我们在192.168.198.143服务器上上传一个镜像, 并push到sa私有仓库
1. 给192.168.198.143添加受信任的域名
{
"registry-mirrors": ["https://w52p8twk.mirror.aliyuncs.com"],
"insecure-registries":["hub.lxl.com"]
}
2. 配置本地hosts
192.168.198.143 hub.lxl.com
3. 重启docker
systemctl daemon-reload
systemctl restart docker
这一次docker重启会使用较长的时间, 因为启动的时候会自动启动harbor仓库
docker ps -a
一定要查看一下镜像harbor的镜像是否都启动. 如果没有都启动, 那么进入/usr/local/harbor,执行./install.sh
4. 登录docker仓库
docker login hub.lxl.com
5. 查看镜像镜像上传到harbor的方式
6. 生成tag, 并push到harbor仓库
docker tag tomcat9:latest hub.lxl.com/sa/tomcat9:1.0
docker push hub.lxl.com/sa/tomcat9:1.0
上传完成:
查看harbor结果
我们看到了上传的结果, 接下来pull拉取到192.168.198.142服务器上
1. 给192.168.198.143添加受信任的域名
{
"registry-mirrors": ["https://w52p8twk.mirror.aliyuncs.com"],
"insecure-registries":["hub.lxl.com"]
}
2. 配置本地hosts
192.168.198.143 hub.lxl.com
3. 重启docker
systemctl daemon-reload
systemctl restart docker
这一次docker重启会使用较长的时间, 因为启动的时候会自动启动harbor仓库
docker ps -a
一定要查看一下镜像harbor的镜像是否都启动. 如果没有都启动, 那么进入/usr/local/harbor,执行./install.sh
4. 登录docker仓库
docker login hub.lxl.com
5. 拉取镜像
docker pull hub.lxl.com/sa/tomcat9
成功拉取, 接下来启动镜像, 访问容器就ok了