Ubuntu安裝私有Docker Hub服務Harbor

Harbor是VMWare開發的一個私有Docker-hub服務軟件,依賴於docker registry服務,如今已開源(https://github.com/vmware/harbor)。查看完整的安裝和配置說明(https://github.com/vmware/harbor/blob/master/docs/installation_guide.md)。linux

一、快速安裝Harbor服務

Harbor服務已經封裝爲多個Docker的編排化服務,搭建起來很簡單(因爲須要下載好幾個基礎鏡像,網絡很差時花的時間長一點,不要着急):nginx

# Harbor like a private docker-hub.
# Harbor is a registry manager for docker.
echo 「Install harbor of docker on Ubuntu.」
echo 「by openthings@163.com」

git clone https://github.com/vmware/harbor.git

cd harbor
cd Deploy

#進去把harbor.cfg的host名稱改成本身的服務器IP地址或者域名(其它機器可訪問)。
#必定要在運行./prepare以前改,不然不起做用。

./prepare
sudo docker-compose up -d

echo 「Please visit https://github.com/vmware/harbor」
  • 中止Harbor服務,使用:sudo docker-compose down。
  • 啓動Harbor服務,使用:sudo docker-composer start。
  • 中止Harbor服務,使用:sudo docker-composer stop。
  • 刪除Harbor服務,使用:sudo docker-composer rm。

二、Harbor服務端口設置

若是機器上已經運行其餘的Web服務,爲了不端口衝突,能夠進去修改nginx的80端口。git

vim /Deploy/docker-compose.yaml

進瀏覽器IP:端口號(缺省80),Web圖形界面(以下),按照提示操做便可。github

三、鏡像的上傳和下載

首先Web界面登陸,缺省的管理員帳號/密碼是:admin/Harbor12345,服務器端建立新帳號和鏡像庫。docker

而後到客戶端,Shell 控制檯,docker login localhost進去。顯示登陸成功後,按以下操做。vim

客戶端命令行下,Docker鏡像的上傳/下載使用以下(以jenkins爲例):瀏覽器

# 一、給鏡像打標籤將它指向你的registry
docker tag 1e6ed717014b localhost/myrepo/jenkins
# 其中1e6ed717014b 是鏡像id

# 二、Push鏡像到registry
docker push localhost/myrepo/jenkins

# 三、從registry Pull鏡像
docker pull localhost/myrepo/jenkins

四、錯誤的處理

Harbor缺省是支持Https的,若是使用http,須要在客戶端修改配置,容許連接http的registry。參考這裏解決:http://www.javashuo.com/article/p-yocuywrq-hg.html 。服務器

若是運行時出現443:refused錯誤,首先修改docker-compose.yaml的enginx參數,加入443端口。而後,進去修改/etc/default/docker的參數,加入OPTIONS='--selinux-enabled --ipv6=false --insecure-registry=172.17.1.31:5001'相似的參數,以下:網絡

# Docker Upstart and SysVinit configuration file

#
# THIS FILE DOES NOT APPLY TO SYSTEMD
#
#   Please see the documentation for "systemd drop-ins":
#   https://docs.docker.com/engine/articles/systemd/
#

# Customize location of Docker binary (especially for development testing).
#DOCKER="/usr/local/bin/docker"

# Use DOCKER_OPTS to modify the daemon startup options.
#DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"
OPTIONS='--selinux-enabled --ipv6=false --insecure-registry=172.17.1.31:5001'

# If you need Docker to use an HTTP proxy, it can also be specified here.
#export http_proxy="http://127.0.0.1:3128/"

# This is also a handy place to tweak where Docker's temporary files go.
#export TMPDIR="/mnt/bigdrive/docker-tmp"

五、更多的參考

相關文章
相關標籤/搜索