Harbor搭建私有Docker仓库


前言:搭建私有docker仓库,方便部署扩展我们服务...

⚠️必须安装docker(1.10+)和docker-compose(1.6+)
⚠️示例Harbor版本(1.6.0 online)
1.安装harbor
2.推送、下载镜像

1.安装Harbor

1.1下载软件包

# 下载
[root@iZwz data]#wget https://storage.googleapis.com/harbor-releases/release-1.6.0/harbor-online-installer-v1.6.0.tgz
# 解压
[root@iZwz data]#tar -C ./ -zxvf harbor-online-installer-v1.6.0.tgz

1.2 修改配置文件

1.2.1 修改docker-compose.yml

  • 1.将所有目录挂载在当前目录(在前面加.即可,这里只有一个示例,其他的注意加上!)
  • 2.修改80端口(由于主机80、443端口被占用,必须修改)
....
proxy:
    image: goharbor/nginx-photon:v1.6.0
    container_name: nginx
    restart: always
    volumes:
      - ./common/config/nginx:/etc/nginx:z
    networks:
      - harbor
    ports:
      - 1180:80
      - 11443:443
      - 4443:4443
...

1.2.2 修改harbor.cfg

  • 目标主机的主机名(修改为服务器ip即可,由于服务器80端口被占用,这里需要加端口)
# 只修改这一个
hostname = 120.79.10.51:1180

1.2.3 执行安装脚本

[root@iZwz harbor]#./install.sh

1.2.4 浏览器访问

地址:120.79.10.51:1180
账户密码:admin / Harbor123456 (在harbor.cfg中配置)


2.推送、下载镜像

2.1 在Harbor创建用户

这里创建了一个开发用户


2.2 创建测试仓库,并将开发用户pb加入其中

2.3 修改本地docker配置Daemon

由于docker 默认采用https,所以必须修改,应用并重启⚠️


2.4 对本地镜像打标签

#  本地已有golang镜像这里直接示例用
➜  docker tag golang:1.8 120.79.10.51:1180/test/golang:1.8

# 标签语法
# docker tag IMAGE[:TAG] [REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG]

2.5 推送到Harbor

# 使用开发用户账户登录
➜  docker login 120.79.10.51:1180
Username: pb
Password:
Login Succeeded

# 推送镜像到仓库
➜  docker push 120.79.10.51:1180/test/golang
The push refers to repository [120.79.10.51:1180/test/golang]
c90f249b07ff: Pushed
dcb909b41c27: Pushed
594ac8d42d93: Pushed
dba9965601d1: Pushed
d6335a641f5e: Pushed
5c33df241050: Pushed
ffc4c11463ee: Pushed
1.8: digest: sha256:89438d7037c6e6f16e323ef306903c74bdd667c60ec3c8113ef3fd244c6b09f2 size: 1793

2.6 查看Harbor镜像仓库

2.7 下载Harbor的镜像

➜  docker pull 120.79.10.51:1180/test/golang:1.8

总结

为下一步应用自动化打下基础,大家加油!

Harbor

推荐阅读更多精彩内容