docker 私有库
参考文档:https://github.com/WingkaiHo/docker-calico/blob/master/harbor/README.md
1、HarborV1.6.0-RC1
Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。
1.1、系统环境
CentOS 7.4 Python version:>=2.7 Docker version:>=1.10 Docker Compose version:>=1.6.0 Openssl:直接yum安装最新版本即可 (# yum -y install openssl openssl-devel)
1.2、安装docker
(官方推荐安装方法,也可直接docker安装,快!!!)
1、CentOS 7 自带Python版本2.7,不必更新Python 2、安装Docker(根据自己实际需求,下列安装方式二选一即可) 1) 安装Docker ce (官方链接:https://docs.docker.com/install/linux/docker-ce/centos/) 卸载原来的Docker(如果以前没安装过,略过此步骤即可) $ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine devicemapper存储驱动依赖于yum-utils、device-mapper-persistent-dat and lvm2 $ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 添加Docker官方yum源 $ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo 安装Docker ce $ sudo yum install docker-ce
或(二选一)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
2) 安装Docker engine 添加yum源 # cat <<EOF>/root/docker.repo \ > name=Docker > baseurl=https://yum.dockerproject.org/repo/main/centos/7/ > enabled=1 > gpgcheck=0 > EOF 安装Docker engine # yum -y install docker-engine-1.13.1
1.3、安装Docker Compose
compose是一个定义和运行多容器的docker应用的工具。compose 通过yaml文件配置应用服务,然后仅需一个命令就可以创建和运行所有配置中的服务。
版本发布地址:https://github.com/docker/compose/releases
#下载Docker Compose二进制可执行文件 curl -L https://github.com/docker/compose/releases/download/1.20.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose #添加可执行权限 chmod +x /usr/local/bin/docker-compose
#测试是否安装成功
[root@slave src]# docker-compose --version
docker-compose version 1.22.0, build f46880fe
1.4、下载Harbor安装文件
1)下载Harbor安装文件 从 github harbor 官网 release 页面下载指定版本的安装包。 1、在线安装包 $ wget https://github.com/goharbor/harbor/archive/v1.6.0-rc1.tar.gz $ tar xvf v1.6.0-rc1.tar.gz 2、离线安装包 $ wget https://storage.googleapis.com/harbor-releases/release-1.6.0/harbor-offline-installer-v1.6.0-rc2.tgz $ tar xvf harbor-offline-installer-v1.6.0-rc2.tgz
1.5、生成访问harbor时的密钥证书
1、创建证书存放目录 mkdir -p /data/cert cd /data/cert/ 2 、创建 CA 根证书 openssl req -newkey rsa:4096 \ -nodes -sha256 -keyout ca.key -x509 -days 365 \ -out ca.crt -subj "/C=CN/L=shanghai/O=baoshan/CN=harbor-registry" 3 、生成一个证书签名, 设置访问域名为 [你的域名] openssl req -newkey rsa:4096 \ -nodes -sha256 -keyout server.key \ -out server.csr -subj "/C=CN/L=shanghai/O=baoshan/CN=docker-hub.onechain.com" 4、 生成主机的证书 openssl x509 -req -days 365 \ -in server.csr -CA ca.crt -CAkey ca.key \ -CAcreateserial -out server.crt
1.6、修改harbor配置文件
hostname = docker-hub.onechain.com # 指定私有仓库的主机名,可以是IP地址,也可以是域名 ui_url_protocol = https # 用户访问私仓时使用的协议,默认时http,配置成https db_password = root123 # 指定mysql数据库管理员密码 harbor_admin_password:Harbor12345 # harbor的管理员账户密码 ssl_cert = /data/cert/server.crt # 设置证书文件路径 ssl_cert_key = /data/cert/server.key # 设置证书密钥文件路径
1.7、通过自带脚本一键安装(在harbor目录下)
[root@harbor harbor]# ./prepare
[root@harbor harbor]# ./install.sh
1.8、防火墙设置( 开启80/443端口)
firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-port=443/tcp --permanent firewall-cmd --reload firewall-cmd --query-port=80/tcp firewall-cmd --query-port=443/tcp firewall-cmd --list-all
1.9、docker-compose的停止、启动
启动Harbor # docker-compose start 停止Harbor # docker-comose stop 重启Harbor # docker-compose restart
1.10、访问结果
[提前设置本地 hosts文件本地重定向至harbor服务器IP ] vi /etc/hosts 添加 127.0.0.1 localhost docker-hub.onechain.com https://docker-hub.onechain.com 用户默认为admin 密码默认为Harbor12345 [可通过安装前 harbor.cfg 配置文件修改 harbor_admin_password 指定 ]
2、harbor使用
https://www.cnblogs.com/pangguoping/p/7650014.html
#修改参数
[root@docker ~]# cat /etc/docker/daemon.json
{ "insecure-registries": ["10.10.10.61"] }
[root@docker ~]#
#上传镜像 docker login 10.10.10.61 docker tag yanqi/python-ssh:v1 10.10.10.61/nginx/python-ssh:v3 docker push 10.10.10.61/nginx/python-ssh:v3 #下载镜像 [root@docker ~]# docker pull 10.10.10.61/nginx/python-ssh:v3
3、官方使用说明
https://github.com/goharbor/harbor/blob/release-1.6.0/docs/user_guide.md
FAQ
1、查看博文
https://blog.csdn.net/kq425/article/details/80288169
https://blog.csdn.net/mimica247706624/article/details/80182751