安装部署 Harbor

安装 docker-compose

如果已安装 docker-compose 可以跳过此步

1
2
3
4
5
6
7
8
$ curl -L https://github.com/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# 添加执行权限
$ chmod +x /usr/bin/docker-compose
# 测试是否可用
$ docker-compose --version
docker-compose version 1.25.5, build 8a1c60f6

安装并配置harbor

安装harbor

推荐离线安装,下载适合版本的离线安装包,地址:https://github.com/vmware/harbor/releases

1
2
# 下载完成后解压文件
$ tar -zxvf harbor-offline-installer-v1.10.4.tgz

配置 harbor.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$ cd harbor/
$ vim harbor.yml
# 配置以下参数
# 设置访问地址,可以使用ip、域名,不可以设置为127.0.0.1或localhost
hostname: reg.aidansu.com
# 访问端口,如果80端口被占用,可以设置其他的端口
http:
port: 80
# 启动Harbor后,管理员UI登录的密码,默认是Harbor12345
harbor_admin_password: 123456
# mysql数据库root用户默认密码root123,实际使用时修改复杂一点的密码
database:
password: root123
# 仓库存储位置
data_volume: /data
# https访问端口 如只使用http 需要将该配置注释掉
#https:
# port: 443

运行安装

1
2
# 运行 harbor 目录下的install.sh 安装 harbor
$ ./install.sh

为 harbor 添加服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 添加 harbor.service 其中 {harbor_install_path} 换成自己的 harbor 安装路径
$ cat > /usr/lib/systemd/system/harbor.service <<EOF
[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor
[Service]
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/bin/docker-compose -f {harbor_install_path}/docker-compose.yml up
ExecStop=/usr/bin/docker-compose -f {harbor_install_path}/docker-compose.yml down
[Install]
WantedBy=multi-user.target
EOF
# 启动服务
$ sudo systemctl enable harbor
$ sudo systemctl start harbor

使用harbor

使用端添加配置文件 daemon.json

使用镜像仓库时 需添加配置文件 增加仓库地址和镜像加速器

1
2
3
4
5
6
7
8
9
10
# 创建配置文件,
$ cat > /etc/docker/daemon.json <<EOF
{
"insecure-registries":["192.168.0.60","reg.aidansu.com"],
"registry-mirrors": ["http://reg.aidansu.com"]
}
EOF
# 执行命令 重启服务
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

登录harbor

其中 reg.aidansu.com 是上面 harbor.yaml 配置的镜像仓库域名,192.168.0.60 为镜像仓库服务器地址,library 为镜像仓库项目地址,这些都需要更具自己实际情况进行配置

修改 /etc/hosts文件,添加

1
192.168.100.235 reg.aidansu.com

登录 harbor

1
$ docker login reg.aidansu.com

推送镜像

1
2
3
4
5
# 在项目中标记镜像:
$ docker tag SOURCE_IMAGE[:TAG] reg.aidansu.com/library/IMAGE[:TAG]
# 推送镜像到当前项目:
$ docker push reg.aidansu.com/library/IMAGE[:TAG]

拉取镜像

1
$ docker pull reg.aidansu.com/library/IMAGE[:TAG]
坚持原创技术分享,您的支持将鼓励我继续创作!