docker以https方式自建私有镜像仓库harbor
基础环境
系统: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
成都创新互联公司从2013年创立,是专业互联网技术服务公司,拥有项目成都做网站、网站建设、外贸营销网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元颍泉做网站,已为上家服务,为颍泉各地企业和个人服务,联系电话:18980820575
下载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
网页名称:docker以https方式自建私有镜像仓库harbor
文章源于:http://cdiso.cn/article/iehghe.html