本文從安裝完成Centos7.3開始記錄,直到Harbor安裝完成全過程
配置網絡
$ vi /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=172.16.22.76
GATEWAY=172.16.22.1
NETMASK=255.255.255.128
DNS1=8.8.8.8
DNS2=8.8.4.4
ONBOOT=YES
BOOTPROTO=static
應用網絡配置
$ systemctl restart network
解決yum源無法更新和下載軟件,增加163源
http://mirrors.163.com/.help/centos.html
// 備份默認源
$ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
// 下載 CentOS7-Base-163.repo 並放入 /etc/yum.repos.d/ 目錄下
$ yum clean all
$ yum makecache
下載wget
$ yum install -y wget
配置阿里雲鏡像
$ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
$ yum clean all
$ yum makecache
下載安裝docker
$ yum install docker
下載安裝vim
$ yum install -y vim
下載安裝擴展源epel
$ sudo yum -y install epel-release
下載安裝python-pip
$ yum install python-pip
下載安裝docker-compose
$ pip install docker-compose
離線安裝Harbor
官網下載並拷貝harbor-offline-installer-v1.4.0_2.tgz到home目錄下並解壓
$ tar zxvf harbor-offline-installer-v1.4.0_2.tgz
// 解壓完成後進入harbor目錄修改配置文件
$ cd /home/harbor/
修改docker-compose.yml配置文件
$ vim docker-compose.yml
version: '2'
services:
log:
image: vmware/harbor-log:v1.4.0
container_name: harbor-log
restart: always
volumes:
- /var/log/harbor/:/var/log/docker/:z
- ./common/config/log/:/etc/logrotate.d/:z
ports:
- 127.0.0.1:1514:10514
networks:
- harbor
registry:
image: vmware/registry-photon:v2.6.2-v1.4.0
container_name: registry
restart: always
volumes:
- /data/registry:/storage:z
- ./common/config/registry/:/etc/registry/:z
networks:
- harbor
ports:
- 5000:5000 // 只增加這一行配置
environment:
- GODEBUG=netdns=cgo
command:
["serve", "/etc/registry/config.yml"]
depends_on:
- log
logging:
driver: "syslog"
修改harbor.cfg配置文件
$ vim harbor.cfg
## Configuration file of Harbor
## 其他都不修改
hostname = 172.16.22.76
使用官方自帶腳本更新參數
$ ./prepare
執行./install.sh 自動進行安裝
$ ./install.sh
安裝完成後訪問172.16.22.76 使用admin Harbor12345 進行登陸管理並創建demo-project公開項目
使用國內docker倉庫鏡像
$ curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://9e054c8b.m.daocloud.io
重啓docker會報錯,修改 /etc/docker/daemon.json 爲
{
"registry-mirrors": ["http://9e054c8b.m.daocloud.io"],
"insecure-registries": []
}
在項目中標記鏡像
// 首先拉取一個mysql鏡像作爲測試
$ docker pull mysql:5.7
$ docker tag daocloud.io/mysql:5.7 172.16.22.76/demo-project/mysql:5.7
登陸Harbor
$ docker login 172.16.22.76
Username:admin
Password:Harbor12345
Error response from daemon: Get https://172.16.22.76/v1/users/: dial tcp 172.16.22.76:443: getsockopt: connection refused
由於https原因登陸報錯,修改docker配置文件
$ vi /etc/sysconfig/docker
## 追加參數 --insecure-registry 172.16.22.76
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --insecure-registry 172.16.22.76'
推送鏡像到harbor倉庫
$ docker push 172.16.22.76/demo-project/hnnp-mysql:5.7