界面化操作私有倉庫鏡像不方便,harbor可以很好解決這個問題,開始安裝。
1、首先安裝docker環境,這個就不說了,都會裝有。
2、harbor是通過docker-compose管理安裝的,所以需要安裝docker-compose,安裝這玩意有兩種方式。
1)、執行下面兩條命令
curl -L https://github.com/docker/compose/releases/download/1.3.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
然後檢查時否安裝成功
docker-compose --version
2)、通過Python pip工具進行安裝,據說這中好,不糾結,我就用這個吧,這個命令看起來簡單。
首先安裝epel擴展源:
yum -y install epel-release
然後安裝python-pip
yum -y install python-pip
安裝完之後別忘了清除一下cache
yum clean all
最後才安裝docker-compose
pip install -U docker-compose
3、然後開始下載安裝harbor,去官網下載然後解壓。下載地址:https://github.com/goharbor/harbor/releases
然後切換到存放壓縮文件夾的目錄進行解壓,tar xvf harbor-1.5.3.tar.gz
備註:網上有些教程是直接在linux下載的,但是版本我感覺太老就自己下載了,參考下面的命令
在線安裝包
wget https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-online-installer-v1.1.2.tgz
tar xvf harbor-online-installer-v1.1.2.tgz
離線安裝包
wget https://storage.googleapis.com/harbor-releases/release-1.5.0/harbor-offline-installer-v1.5.1.tgz
tar xvf harbor-offline-installer-v1.5.1.tgz
4、然後開始配置一下,解壓完所有的內容都在make文件夾下面,然後編輯make文件夾裏面的配置文件harbor.cfg,將配置文件的hostname調整爲你的私有倉庫的IP或者域名,當然其他配置想調整也可以調整下,我這裏就不進行調整,只調整下hostname就可以了。
5、然後運行make目錄裏面進行安裝,執行命令./install.sh,好,然後我這裏報錯了:No such file or directory: './docker-compose.yml',這個目錄下面確實沒有yml文件,先看下目錄下面有哪些文件,如下圖,都是tpl結尾?那咱們複製docker-compose.tpl,然後將後綴名改下docker-compose.yml,然後再安裝,恩....又報錯了ERROR: manifest for vmware/harbor-log:__version__ not found,然後打開docker-compose.yml文件發現裏面的鏡像文件的版本號都是__version__,需要我們手動調整下版本,碰到image標籤的就去dockerhub上面找最新版本信息下載,比如vmware/harbor-log,查看最新版本爲v1.5.2,所以把__version__換成v1.5.2即可,下面同理。
vmware/harbor-log:v1.5.2
vmware/registry-photon:v2.6.2-v1.5.2
vmware/harbor-db:v1.5.2
vmware/harbor-adminserver:v1.5.2
vmware/harbor-ui:v1.5.2
vmware/harbor-jobservice:v1.5.2
vmware/redis-photon:v1.5.2
vmware/nginx-photon:v1.5.2
然後重新執行,完事,然後瀏覽器輸入http://10.138.60.136即可。
harbor_admin_password:管理員的初始密碼。該密碼僅在Harbor 第一次啓動時生效。之後,此設置將被忽略,並且應在UI中設置管理員的密碼。請注意,默認用戶名/密碼爲admin / Harbor12345
接下來我們來玩玩這個東西,注意,這個東西安裝好後,是自帶倉庫鏡像的,不用額外安裝私有倉庫。
首先推送一個鏡像上去看看,需要先新建一個項目,這個東西原本就帶了一個項目library,就用這個吧,然後點進去,這裏有命令
來試一試,首先加個標籤:docker tag dockertest 10.138.60.136:5000/library/dockertest:1.0
然後推送上去看看:docker push 10.138.60.136:5000/library/dockertest:1.0
下面步驟沒通。。。。。改日在寫
參考:
編輯docker.service文件(/usr/lib/systemd/system/docker.service):在ExecStart處添加 –insecure-registry 參數。
ExecStart=/usr/bin/dockerd-current \
--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
--default-runtime=docker-runc \
--exec-opt native.cgroupdriver=systemd \
--userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
--init-path=/usr/libexec/docker/docker-init-current \
--seccomp-profile=/etc/docker/seccomp.json \
--insecure-registry=10.138.60.136(Harbor地址) \
$OPTIONS \
$DOCKER_STORAGE_OPTIONS \
$DOCKER_NETWORK_OPTIONS \
$ADD_REGISTRY \
$BLOCK_REGISTRY \
或者另外一種方式
/etc/docker/daemon.json
{ "insecure-registries":["10.138.60.136"] }
然後重新啓動:
systemctl daemon-reload
systemctl restart docker
參考地址:
https://blog.csdn.net/qq_35959573/article/details/80664353