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

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

安装准备

1 安装docker

官方文档:https://docs.docker.com/engine/installation/linux/docker-ce/centos/

#1.配置仓库
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
 
#2.可以选择是否开启edge和test仓库
sudo yum-config-manager --enable docker-ce-edge
sudo yum-config-manager --enable docker-ce-test
sudo yum-config-manager --disable docker-ce-edge
sudo yum-config-manager --disable docker-ce-test
 
#3.安装docker-ce
sudo 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-stable
docker-ce.x86_64            17.09.0.ce-1.el7.centos            @docker-ce-stable
docker-ce.x86_64            17.06.2.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.06.1.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.06.0.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.03.2.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
 
sudo yum install <FQPN>  例如:sudo yum install docker-ce-17.09.0.ce
 
#5.启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
 
#6.关闭docker-daemon
sudo systemctl stop docker
sudo 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-compose
chmod +x /usr/local/bin/docker-compose

#添加可执行权限 
$ sudo chmod +x /usr/local/bin/docker-compose

pip安装

$ sudo pip install docker-compose

harbor部署

开源项目地址:https://github.com/vmware/harbor

1 下载文件 进入到GitHub下载官方harbor文件,下载链接地址为:http://harbor.orientsoft.cn/harbor-v1.4.0/harbor-offline-installer-v1.4.0.tgz 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:
  - harbor
ports:
  - 5000:5000
……

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

proxy:
image: nginx:1.9
container_name: nginx
restart: always
volumes:
-./common/config/nginx:/etc/nginx
ports:
- 9999:80
- 443:443
depends_on:
- mysql
- registry
- ui
- log

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

扫描二维码关注公众号,回复: 1090691 查看本文章
auth:
token:
issuer:registry-token-issuer
realm: $ui_url:9999/service/token
rootcertbundle:/etc/registry/root.crt
service: token-service

修改harbor.cfg文件

#db认证模式
hostname = 192.168.2.150
db_password = 123456
clair_db_password = 123456
harbor_admin_password = 123456
auth_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-reload
sudo systemctl restart docker

现在可以pull镜像了

使用私有仓库push镜像

注册

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

现在可以pull镜像了

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

猜你喜欢

转载自my.oschina.net/orrin/blog/1820462