Docker私有仓库管理之Harbor搭建

Harbor简介:http://dockone.io/article/1179
Harbor官网安装说明:https://github.com/vmware/harbor/blob/master/docs/installation_guide.md

环境说明:

  • Centos 7.2
  • 主机IP: 192.168.20.17

一、安装相关依赖

1、安装docker

yum -y install docker

启动docker

systemctl restart docker

查看docker版本

$ docker version

Client:
Version:         1.12.6
API version:     1.24
Package version: docker-common-1.12.6-11.el7.centos.x86_64
Go version:      go1.7.4
Git commit:      96d83a5/1.12.6
Built:           Tue Mar  7 09:23:34 2017
OS/Arch:         linux/amd64
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
2、安装docker-compose

pip安装

pip install docker-compose

源码安装

wget https://github.com/docker/compose/archive/master.zip
unzip master.zip
cd compose-master
python setup.py install

查看docker-compose版本

$ docker-compose version

docker-compose version 1.13.0dev, build unknown
docker-py version: 2.2.1
CPython version: 2.7.5
OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
3、安装golang

到官网下载最新的相应系统安装包:https://golang.org/dl/

wget https://storage.googleapis.com/golang/go1.8.1.linux-amd64.tar.gz
tar -C /usr/local/ -zxf go1.8.1.linux-amd64.tar.gz

把以下内容添加到环境变量 vi ~/.bash_profile

export PATH=$PATH:/usr/local/go/bin

使其生效

source ~/.bash_profile

查看go版本

$ go version

go version go1.8.1 linux/amd64

二、部署harbor

harbor官方网址: https://github.com/vmware/harbor

1、下载harbor源码

wget https://github.com/vmware/harbor/archive/master.zip

2、解压

unzip master.zip
cd /harbor-master/make

查看依赖是否安装

$ ./checkenv.sh

Note: golang version: 1.8.1

Note: docker version: 1.12.6

Note: docker-compose version: 1.12.0
3、修改配置文件

vi harbor.cfg

配置文件参数说明(转自:http://www.cnblogs.com/jicki/p/5737369.html)

## Configuration file of Harbor
# hostname 设置访问地址,支持IP,域名,主机名,禁止设置127.0.0.1
hostname = reg.mydomain.com

# 访问协议,可设置 http,https
ui_url_protocol = http

# 邮件通知, 配置邮件通知。
email_server = smtp.mydomain.com
email_server_port = 25
email_username = sample_admin@mydomain.com
email_password = abc
email_from = admin <sample_admin@mydomain.com>
email_ssl = false

# harbor WEB UI登陆使用的密码
harbor_admin_password = Harbor12345

# 认证方式,这里支持多种认证方式,默认是 db_auth ,既mysql数据库存储认证。
# 这里还支持 ldap 以及 本地文件存储方式。
auth_mode = db_auth

# ldap 服务器访问地址。
ldap_url = ldaps://ldap.mydomain.com
ldap_basedn = uid=%s,ou=people,dc=mydomain,dc=com

# mysql root 账户的 密码
db_password = root123
self_registration = on
use_compressed_js = on
max_job_workers = 3 
verify_remote_cert = on
customize_crt = on

# 一些显示的设置.
crt_country = CN
crt_state = State
crt_location = CN
crt_organization = organization
crt_organizationalunit = organizational unit
crt_commonname = example.com
crt_email = example@example.com

此处我们只修改hostname=192.168.20.17(私有仓库主机ip)

4、更新生成相关配置文件

./prepare

5、 更新docker-compose.yml

cp docker-compose.tpl docker-compose.yml

docker hub查找docker-compose.yml配置文件中所有镜像的官方最新版本号,并将其替换掉__version__

yml配置文件中我们只改相应镜像对应版本号

image: vmware/harbor-log:v1.1.0
image: vmware/registry:photon-2.6.0
image: vmware/harbor-db:v1.1.0
image: vmware/harbor-adminserver:v1.1.0
image: vmware/harbor-ui:v1.1.0
image: vmware/harbor-jobservice:v1.1.0
image: vmware/nginx:1.11.5-patched

注:此处除了nginx和registry镜像的版本不同外,其他镜像的版本应该一致(用同一版本)

6、运行

必须在docker-compose.yml目录下运行

docker-compose up -d

此时我们可以在浏览器中输入:http://192.168.20.17:80进入harbor web管理后台(80是docker-compose.yml 配置文件中nginx容器的默认端口),默认的帐号密码是admin, Harbor12345(如果你没有修改harbor.cfg中的harbor_admin_password

查看compose状态

docker-compose ps

没意外的话,应该全部状态都是UP

需要修改web访问端口的话,先在harbor.cfghostname=192.168.20.17:5000,再把docker-compose.yml 中的80端口改为5000,如下(只贴修改部分)

proxy:
    image: vmware/nginx:1.11.5-patched
    container_name: nginx
    restart: always
    volumes:
      - ./common/config/nginx:/etc/nginx:z
    networks:
      - harbor
    ports:
      - 5000:80
      - 443:443
      - 4443:4443

更多关于docker-compose命令相关参数选项可查看官网

三、上传和下载镜像

1、上传镜像到私有仓库

哪台主机需要上传镜像到刚搭建的私有仓库,就需要更改docker进程启动的相关参数

A、修改docker守护进程启动参数

OPTIONS新增--insecure-registry 192.168.20.17

vi /etc/sysconfig/docker

    OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --registry-mirror=https://olzwzeg2.mirror.aliyuncs.com --insecure-registry 192.168.20.17'

注:--registry-mirror=https://olzwzeg2.mirror.aliyuncs.com是用于docker镜像下载加速,如何设置镜像加速

B、重启docker进程

重启进程前应先停掉所有在运行的容器

systemctl restart docker

C、修改docker镜像tag标签

格式为: userip/项目名/image名字:版本号(项目名为harbor中的项目名)

$ docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/busybox   latest              00f017a8c2a6        5 weeks ago         1.11 MB
$ docker tag docker.io/busybox:latest 192.168.20.17/test/busybox:latest
D、登陆并push
$ docker login 192.168.20.17:80
$ docker push 192.168.20.17/test/busybox:latest

上传完后在harbor web界面的test项目下则可以看到刚上传的镜像了

2、从私有仓库下载镜像

在需要下载镜像的机器上,同样需要修改docker进程参数(跟上传镜像到私有仓库一样操作进行修改)

docker pull 192.168.20.17/test/busybox:latest

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
### 回答1: 您可以通过以下步骤来搭建Harbor私有仓库: 1. 安装DockerDocker-compose 2. 下载Harbor镜像并启动容器 3. 访问Harbor Web界面并进行初始化设置 4. 创建用户帐户并登录 5. 推送和下载镜像 请注意,Harbor的安装和配置可能需要一些技术知识,并且应根据您的系统环境进行适当的调整。有关更详细的信息,请参阅Harbor官方文档。 ### 回答2: Docker是一项非常受欢迎的容器化技术,它使得应用开发和部署非常方便,而Harbor是一款优秀的开源Docker私有仓库软件,它提供了安全、可靠、灵活的私有容器仓库解决方案,是非常适合企业内部使用的仓库软件。 搭建Harbor私有仓库的过程可以分为以下几个步骤: 1. 安装Docker:在安装Harbor之前,你需要先安装好Docker,确保Docker已经正确安装、运行,并且网络已经配置好。 2. 下载并解压Harbor安装包:从Harbor的官方网站(https://goharbor.io/)下载Harbor的安装包,然后解压到指定目录中。 3. 配置Harbor:在解压后的目录中,找到harbor.cfg文件,按照需求修改该文件中的配置选项,例如端口、数据存储目录、认证方式、管理员密码等。 4. 启动Harbor:运行docker-compose up -d命令即可启动Harbor私有仓库,启动后可以使用docker ps命令查看状态。 5. 配置Docker客户端:在启动Harbor后,你需要配置Docker客户端的认证信息,才能访问Harbor仓库。在Docker客户端中使用docker login命令,输入用户名、密码和仓库地址即可。 6. 使用Harbor:在配置完成后,你可以使用docker命令或者Harbor的Web UI界面来管理和使用你的私有仓库了。 总之,在使用Harbor搭建私有仓库时,需要先安装好Docker,并在运行Harbor之前进行配置,配置好认证信息,才能正常访问私有仓库Harbor还提供了丰富的权限管理、镜像管理、日志管理等功能,非常适合用于企业内部应用的私有容器仓库解决方案。 ### 回答3: Docker是一种轻便的容器技术,Harbor是一种用于Docker注册表和管理系统的私有仓库Harbor私有仓库可以极大地方便企业级应用程序的构建、部署和管理,特别适用于A DevOps和微服务架构。要搭建Harbor私有仓库,步骤如下: 第一步,安装DockerDocker Compose。在安装完Docker后,可以使用以下命令来安装Docker Compose: curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose 第二步,下载并安装Harbor私有仓库。从Harbor的官方网站上下载和安装最新版本的Harbor软件包: wget https://api.github.com/repos/goharbor/harbor/releases/latest -O harbor.json RELEASE_VERSION=$(cat harbor.json|jq ".name"|sed 's/"//g') echo "Harbor Version: ${RELEASE_VERSION}" wget https://github.com/goharbor/harbor/releases/download/${RELEASE_VERSION}/harbor-online-installer-${RELEASE_VERSION}.tgz tar zxvf harbor-online-installer-${RELEASE_VERSION}.tgz -C /opt 第三步,创建并编辑Harbor配置文件。在Harbor的安装目录下,创建一个名为harbor.cfg的配置文件: cd /opt/harbor cp harbor.cfg.tmpl harbor.cfg vi harbor.cfg 在配置文件中,指定Harbor的主机名、端口和数据存储路径等细节。你可以调整这些设置来适应你的特定需求。 第四步,启动Harbor容器。使用Docker Compose和Harbor配置文件来创建Harbor的运行环境: docker-compose up -d 第五步,使用浏览器访问Harbor私有仓库。在浏览器中访问http://localhost:8888,你会看到Harbor的登录页面。输入管理员账户和密码,即可进入Harbor管理界面。 第六步,使用Harbor私有仓库。使用Docker Registry API或Docker客户端命令行工具,与你的Harbor私有仓库进行交互。将部署在Harbor私有仓库中的镜像下载并使用在你的应用程序中。 总之,搭建Harbor私有仓库非常不错,它提供了一个安全、集中和可扩展的Docker仓库,并支持自动构建和镜像扫描等高级功能。随着DevOps和微服务的兴起,Harbor私有仓库将成为企业应用的关键组成部分,也值得我们深入探索和研究。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值