Ubuntu安装私有Docker Hub服务Harbor

原创
2016/04/14 10:23
阅读数 5.5K

Harbor是VMWare开发的一个私有Docker-hub服务软件,依赖于docker registry服务,现在已开源(https://github.com/vmware/harbor)。查看完整的安装和配置说明(https://github.com/vmware/harbor/blob/master/docs/installation_guide.md)。

1、快速安装Harbor服务

Harbor服务已经封装为多个Docker的编排化服务,搭建起来很简单(由于需要下载好几个基础镜像,网络不好时花的时间长一点,不要着急):

# Harbor like a private docker-hub.
# Harbor is a registry manager for docker.
echo “Install harbor of docker on Ubuntu.”
echo “by openthings@163.com”

git clone https://github.com/vmware/harbor.git

cd harbor
cd Deploy

#进去把harbor.cfg的host名称改为自己的服务器IP地址或者域名(其它机器可访问)。
#一定要在运行./prepare之前改,否则不起作用。

./prepare
sudo docker-compose up -d

echo “Please visit https://github.com/vmware/harbor”
  • 停止Harbor服务,使用:sudo docker-compose down。
  • 启动Harbor服务,使用:sudo docker-composer start。
  • 停止Harbor服务,使用:sudo docker-composer stop。
  • 删除Harbor服务,使用:sudo docker-composer rm。

2、Harbor服务端口设置

如果机器上已经运行其他的Web服务,为了避免端口冲突,可以进去修改nginx的80端口。

vim /Deploy/docker-compose.yaml

进浏览器IP:端口号(缺省80),Web图形界面(如下),按照提示操作即可。

3、镜像的上传和下载

首先Web界面登录,缺省的管理员账号/密码是:admin/Harbor12345,服务器端创建新账号和镜像库。

然后到客户端,Shell 控制台,docker login localhost进去。显示登录成功后,按如下操作。

客户端命令行下,Docker镜像的上传/下载使用如下(以jenkins为例):

# 1、给镜像打标签将它指向你的registry
docker tag 1e6ed717014b localhost/myrepo/jenkins
# 其中1e6ed717014b 是镜像id

# 2、Push镜像到registry
docker push localhost/myrepo/jenkins

# 3、从registry Pull镜像
docker pull localhost/myrepo/jenkins

4、错误的处理

Harbor缺省是支持Https的,如果使用http,需要在客户端修改配置,允许链接http的registry。参考这里解决:https://my.oschina.net/u/2306127/blog/757443 。

如果运行时出现443:refused错误,首先修改docker-compose.yaml的enginx参数,加入443端口。然后,进去修改/etc/default/docker的参数,加入OPTIONS='--selinux-enabled --ipv6=false --insecure-registry=172.17.1.31:5001'类似的参数,如下:

# Docker Upstart and SysVinit configuration file

#
# THIS FILE DOES NOT APPLY TO SYSTEMD
#
#   Please see the documentation for "systemd drop-ins":
#   https://docs.docker.com/engine/articles/systemd/
#

# Customize location of Docker binary (especially for development testing).
#DOCKER="/usr/local/bin/docker"

# Use DOCKER_OPTS to modify the daemon startup options.
#DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"
OPTIONS='--selinux-enabled --ipv6=false --insecure-registry=172.17.1.31:5001'

# If you need Docker to use an HTTP proxy, it can also be specified here.
#export http_proxy="http://127.0.0.1:3128/"

# This is also a handy place to tweak where Docker's temporary files go.
#export TMPDIR="/mnt/bigdrive/docker-tmp"

5、更多的参考

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
4 收藏
1
分享
返回顶部
顶部