博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker私有仓库管理系统harbor的部署使用
阅读量:6843 次
发布时间:2019-06-26

本文共 3919 字,大约阅读时间需要 13 分钟。

  hot3.png

docker私有仓库管理系统harbor的部署使用

安装准备

1 安装docker

官方文档:

#1.配置仓库sudo yum install -y yum-utils device-mapper-persistent-data lvm2sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #2.可以选择是否开启edge和test仓库sudo yum-config-manager --enable docker-ce-edgesudo yum-config-manager --enable docker-ce-testsudo yum-config-manager --disable docker-ce-edgesudo yum-config-manager --disable docker-ce-test #3.安装docker-cesudo yum install docker-ce     #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.09 #4.可以查看所有仓库中所有docker版本,并选择特定版本安装yum list docker-ce --showduplicates | sort -r docker-ce.x86_64            17.09.0.ce-1.el7.centos            docker-ce-stabledocker-ce.x86_64            17.09.0.ce-1.el7.centos            @docker-ce-stabledocker-ce.x86_64            17.06.2.ce-1.el7.centos            docker-ce-stabledocker-ce.x86_64            17.06.1.ce-1.el7.centos            docker-ce-stabledocker-ce.x86_64            17.06.0.ce-1.el7.centos            docker-ce-stabledocker-ce.x86_64            17.03.2.ce-1.el7.centos            docker-ce-stabledocker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stabledocker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable sudo yum install 
例如:sudo yum install docker-ce-17.09.0.ce #5.启动并加入开机启动sudo systemctl start dockersudo systemctl enable docker #6.关闭docker-daemonsudo systemctl stop dockersudo systemctl disable docker

2 安装docker-compose

Compose和Docker兼容性 | compose文件格式版本 | docker版本 | | ----- | ----- | ----- | | 3.6 | 18.02.0+ | | 2.4 | 17.12.0+ | | 2.3, 3.3, 3.4, 3.5 | 17.06.0+ | | 2.2, 3.0, 3.1, 3.2 | 1.13.0+ |

从github上下载docker-compose二进制文件安装

#下载最新版的docker-compose文件 $ sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose#添加可执行权限 $ sudo chmod +x /usr/local/bin/docker-compose

pip安装

$ sudo pip install docker-compose

harbor部署

开源项目地址:

1 下载文件 进入到GitHub下载官方harbor文件,下载链接地址为: tar -zxvf harbor-offline-installer-v1.4.0.tgz

2 修改配置文件 解压缩下载好的harbor文件,cd harbor,修改docker-compose.yml和harbor.cfg两个文件,其中 docker-compose.yml主要修改registry容器参数,在network下增加如下的内容:

# 按照惯例,开放5000端口给registry使用,则修改docker-compose.yml文件,为registry节点添加ports属性……networks:  - harborports:  - 5000:5000……

Harbor的Nginx端口映射到宿主机的80端口上了,一般情况下我们不希望80端口被占用,所以需要修改docker-compose.yml文件:

proxy:image: nginx:1.9container_name: nginxrestart: alwaysvolumes:-./common/config/nginx:/etc/nginxports:- 9999:80- 443:443depends_on:- mysql- registry- ui- log

然后再修改common/templates/registry/config.yml文件:

auth:token:issuer:registry-token-issuerrealm: $ui_url:9999/service/tokenrootcertbundle:/etc/registry/root.crtservice: token-service

修改harbor.cfg文件

#db认证模式hostname = 192.168.2.150db_password = 123456clair_db_password = 123456harbor_admin_password = 123456auth_mode = db_auth#secretkey_path = /dcos/harbor/adminserver/data

secretkey_path必须和docker-compose.yml中设置的相关,不然启动adminserver的时候会报错:“harbor failed to initialize the system: read /etc/adminserver/key: is a directory”

3 启动harbor

修改完成之后,使用官方自带脚本更新参数,在harbor目录中执行./prepare,

./prepare或./prepare --with-clair(开启镜像扫描功能)

接着在harbor目录下执行./install.sh命令即可,会自动导入镜像并启动对应的容器,待脚本跑完之后使用docke-compose ps即可查看,常用命令包含以下几个:

./install.sh或./install.sh --with-clair(开启镜像扫描功能)docker-compose up -d   ###后台启动,如果容器不存在根据镜像自动创建docker-compose down   -v  ###停止容器并删除容器docker-compose start  ###启动容器,容器不存在就无法启动,不会自动创建镜像docker-compose stop  ###停止容器

使用私有仓库pull镜像

docker默认是从官方拉取镜像的,并且从1.12版本之后,默认私有仓库是使用https来进行连接,所以我们这里需要进行一些相应的修改: 修改docker启动文件 /usr/lib/systemd/system/docker.service ,在启动命令后加入参数:--insecure-registry 192.168.2.150:5000

然后使用systemctl daemon-reload一下,重启docker

sudo systemctl daemon-reloadsudo systemctl restart docker

现在可以pull镜像了

使用私有仓库push镜像

注册

$ sudo docker login -u admin -p 123456 192.168.2.150:500

现在可以pull镜像了

最后使用链接 (这是我自己的地址,你需要换成你自己的),输入用户名密码即可登录系统了。

转载于:https://my.oschina.net/orrin/blog/1820462

你可能感兴趣的文章
按照文件名中包含的版本号信息对文件名列表进行排序
查看>>
jQuery学习笔记3:过滤器
查看>>
第四课:单用户及救援模式(一)
查看>>
zabbix企业应用:利用自动发现监控IIS站点
查看>>
table 去掉 td之间间距
查看>>
根据status信息对MySQL服务器进行优化-1
查看>>
sui picker,datetimepicker,citypicker代码整理
查看>>
Redis基础教程第2节 Redis和NoSql 介绍与应用场景
查看>>
用C#开发一个WinForm版的批量图片压缩工具
查看>>
CentOS6.6下设置grub密码方法
查看>>
Linux下DHCP服务器配置
查看>>
创建数据库恢复
查看>>
一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-使用UDA操纵SQL语句...
查看>>
VS2010与IIS Express
查看>>
jdis操作redis cluster
查看>>
算法学习之路|最小生成树——prime算法
查看>>
如何授予邮箱的代理发送权限
查看>>
zabbix-监控ssl证书过期时间
查看>>
Java Hex 16进制的 byte String 转换类
查看>>
lzg_ad:如何在VMWare中调试你的XPE
查看>>