基础环境
系统:centos7.4
首先关闭防火墙和selinux
iptables -F
setenforce 0
docker安装
安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
安装docker软件包源
yum-config-manager --add-repo
https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce -y
安装docker-compase https://docs.docker.com/compose/install/
root用户下:curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
下载harbor安装包:https://github.com/goharbor/harbor/releases 我用的是harbor-offline-installer-v1.5.1.tgz版本 。
tar -xvf harbor-offline-installer-v1.5.1.tgz , cd harbor , mkdir ssl 然后开始自建证书, ssl目录存放我们创建的证书和公私钥等等。
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt
输入国家CN, your name 可以输入自己的名字
创建生成ca的根证书。
openssl req -newkey rsa:4096 -nodes -sha256 -keyout reg.wangxinlei.com.key -out reg.wangxinlei.com.csr
openssl x509 -req -days 365 -in reg.wangxinlei.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out reg.wangxinlei.com.crt
请求颁发证书
生成后的文件如下图
修改配置文件 harbor.cfg cd /root/harbor , vim harbor.cfg hostname = reg.wxl.com #hostname 为你生成证书的时候输入的域名 ui_url_protocol = https 协议默认是http,修改为https
ssl_cert = ./ssl/reg.wxl.com.crt 这两个文件路径改为真实路径 ssl_cert_key = ./ssl/reg.wxl.com.key
harbor_admin_password = 123456 harbor登录的管理员密码默认为harbor12345 ,可以改为自己需要的密码
systemctl start docker , 启动docker。 systemctl enable docker 开机自启docker
harbor路径下执行 ./prepare 准备以刚才修改的内容的配置文件
在harbor路径下执行 ./install.sh 安装
提示docker-compose版本需要 [root@master01 harbor]# ./install.sh
[Step 0]: checking installation environment ...
Note: docker version: 18.09.2 ✖ Need to install docker-compose(1.7.1+) by yourself first and run this script again.
重新安装docker-compose ,cd /usr/local/bin/, rm -rf docker-compose curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
再次执行./install.sh 安装harbar 。 然后修改hosts文件。windows目录:C:\Windows\System32\drivers\etc\hosts 添加 192.168.. reg.wangxinlei.com ,如果没有权限修改请修改文件权限。 linux系统在/etc/hosts 目录添加 192.168.. reg.wangxinlei.com
浏览器输入 reg.wangxinlei.com
输入配置文件内的账号密码 admin 123456
部署完成,下一步就是学习如何使用harbar私有仓库。
harbar 自带的项目library 可以用来存储一些公共的镜像,这个项目下镜像谁都可以pull 下载,但是不允许push 推送。
新建用户 :wangxl Wxl148539
进入library项目,新建成员把刚才新建的用户添加进去。
如果是本机登录harbar的话。先创建一个目录 mkdir -p /etc/harbar/certs.d/reg.wangxinlei.com cp /root/harbar/ssl/reg.wangxinlei.com.crt 到上面的目录 并在/etc/hosts 添加域名解析
用户如果需要使用harbar ,push推送docker镜像的话,需要先登录 登录命令: [root@master01 ~]# docker login reg.wangxinlei.com Username: wangxl 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@master01 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 881bd08c0b08 Less than a second ago 109MB
以上面的镜像为例子
docker tag nginx reg.wangxinlei.com/test/nginx:v1 docker push reg.wangxinlei.com/test/nginx:v1
harbar用户手册地址https://github.com/goharbor/harbor/blob/master/docs/user_guide.md