企业级Docker私有仓库之Harbor部署

dockers仓库Harbor是常用的企业级私有镜像仓库

部署环境

  • Centos7.3 x64
  • docker-ce-17.06.0
  • docker-compose-1.15.0
  • Python-2.7.5(系统默认)

Docker及Docker-compose安装

运行下面的脚本安装docker和docker-compose

wget -O myshell.sh https://fs.tn/myshell.sh && bash myshell.sh

Harbor部署配置

下载harbor的离线安装包,目前最新版本为1.7.4.如果需要安装别的版本,可以自行到github上下载其他版本的离线安装包

wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.4.tgz
tar xf harbor-offline-installer-v1.7.4.tgz
cd harbor/

运行vim harbor.cfg 编辑配置文件

hostname = harbor.com #设置域名
ui_url_protocol = http #如果需要配置ssl 这里填写https ,推荐配置https,可以省事很多
db_password = db_password #设置数据库密码,务必修改
ssl_cert = #SSL证书的路径,仅在协议设置为https时应用。
ssl_cert_key = #SSL密钥的路径,仅在协议设置为https时应用。

其他的,可以参考github上的说明进行配置,比如邮件、LDAP登陆、存储库等配置。配置成功后运行下面的命令安装:
./install.sh
安装成功后,可以通过http://harbor.com/ 访问。 默认管理员用户名/密码为admin / Harbor12345

Docker客户端使用

如果Harbor默认使用的http协议,就需要在Docker client上的Dockerd服务增加–insecure-registry hub.wow
Centos7修改方式为:

vi /lib/systemd/system/docker.service
#在ExecStart=/usr/bin/dockerd后面加上--insecure-registry harbor.com
ExecStart=/usr/bin/dockerd --insecure-registry harbor.com
#保存退出后,重启docker服务
systemctl daemon-reload
systemctl reload docker
service docker restart

harbor的登陆和使用基本操作如下:

登陆到harbor

docker login -u admin -p Harbor12345 harbor.com

本地基于mysql:latest创建tag。(需要先docker pull mysql:latest拉去官方镜像)

docker tag mysql:latest harbor.com/admin/mysql:latest

推送本地镜像mysql:latest 到hub.wow私有仓库

docker push harbor.com/admin/mysql:latest

拉取刚才上传的镜像

docker pull harbor.com/admin/mysql:latest

Harbor服务管理

cd harbor/
docker-compose -f ./docker-compose.yml [ up|down|ps|stop|start ]