1、前沿mysql
docker的官方镜像仓库registry,功能比较单一,不太好用,特别是删除镜像操做,不够友好。nginx
Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,经过添加一些企业必需的功能特性,sql
例如安全、标识和管理等,扩展了开源Docker Distribution。做为一个企业级私有Registry服务器,docker
Harbor提供了更好的性能和安全。提高用户使用Registry构建和运行环境传输镜像的效率。json
Harbor支持安装在多个Registry节点的镜像资源复制,镜像所有保存在私有Registry中,vim
确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。安全
安装环境:服务器
1 Linux UbuntuServer 4.4.0-103-generic #126-Ubuntu SMP Mon Dec 4 16:23:28 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 2 Docker version 17.09.1-ce, build 19e2cf6 3 docker-compose version 1.17.1, build 6d101fb
2、安装docker(略)网络
3、安装docker-compose(略)tcp
4、安装Harbor
下载Harbor
wget http://harbor.orientsoft.cn/harbor-v1.3.0/harbor-offline-installer-v1.3.0.tgz
解压
tar -xzvf harbor-offline-installer-v1.3.0.tgz
获得安装配置文件
这里使用HTTP Insecure Registry。
打开harbor.cfg,修改hostname = 本机ip:端口,默认是80端口,若是80被占用,则须要换端口,好比hostname = 10.0.3.16:7077,
同时打开docker-compose.yml,修改ngxin的转发端口,好比:
proxy: image: vmware/nginx-photon:1.11.13 container_name: nginx restart: always volumes: - ./common/config/nginx:/etc/nginx:z networks: - harbor ports: - 7077:80 - 4433:4433 - 4443:4443 depends_on: - mysql - registry - ui - log logging: driver: "syslog" options: syslog-address: "tcp://127.0.0.1:1514" tag: "proxy"
而后保存,启动Harbor:
./install.sh
查看各容器状态:
docker-compose ps
确保各容器状态都在“up”,便可访问管理界面http://10.0.3.16:7077
各容器的日志记录在:/var/log/harbor/
用户名admin,密码:Harbor12345,配置文件harbor.cfg里有。
5、尝试上传和拉取镜像
登录Harbor以后,建立一个项目,并选择“公开”:
能够看到此时项目里没有镜像:
如今上传一个镜像,上传以前因为Harbor使用的HTTP Insecure Registry模式,因此须要设置docker容许使用Insecure Registry。
vim /etc/docker/daemon.json
写入insecure-registries
{ "registry-mirrors": ["https://registry.docker-cn.com"], "insecure-registries": [ "10.0.3.16:7077" ] }
重启docker:
1 systemctl daemon-reload 2 systemctl restart docker
上传一个修改过的busybox:
1 docker pull busybox 2 docker tag busybox 10.0.3.16:7077/myregistry/busybox:v1.0 3 docker login 10.0.3.16:7077 # 用户名:admin,密码:Harbor12345 4 docker push 10.0.3.16:7077/myregistry/busybox:v1.0
能够看到Harbor仓库里面已经有了:
换一台机器,尝试拉取:
docker pull 10.0.3.16:7077/myregistry/busybox:v1.0
也是能够的。
6、参考:
https://blog.csdn.net/nklinsirui/article/details/87924176
Harbor各版本:http://harbor.orientsoft.cn/