公有容器映象倉庫一般爲docker官方提供的dockerhub,其供全球使用者上傳或下載docker容器映象使用。存取網址爲:hub.docker.com
私有容器映象倉庫可以使用dockerhub中提供的registry容器映象來實現,但是其過於簡陋,因此,VMWare公司的程式設計師對其進行封裝,發佈了Harbor,使其更利用在企業內部進行部署和使用。
https://hub.docker.com/
Harbor是VMware公司開源的企業級Registry專案, 可以幫助使用者快速搭建一個企業級的Docker registry服務.
harbor由python語言開發, 需要使用docker-compose工具進行啓動
需要的工具:
docker準備
使用清華大學開源軟體映象站
獲取YUM源
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
安裝docker-ce
yum -y install docker-ce
修改docker.service啓動方法
vim /usr/lib/systemd/system/docker.service
12 # exists and systemd currently does not
support the cgroup feature set requi red
13 # for containers run by docker
14 ExecStart=/usr/bin/dockerd -H fd:// --
containerd=/run/containerd/containerd.sock
15 ExecReload=/bin/kill -s HUP $MAINPID
** 把其中第14行-H(含)後面全部刪除 **
啓動docker,並設定爲開機自啓動
systemctl enable docker
systemctl start docker
開啓主機內核轉發
vim /etc/sysctl.conf
在檔案最後一行新增如下內容
net.ipv4.ip_forward = 1
sysctl -p
net.ipv4.ip_forward = 1
docker compose準備
使用清華大學開源軟體映象站,僅需爲harborhost主機準備即可。
yum -y install epel-release
yum -y install python2-pip
pip install --upgrade pip
yum -y install gcc libffidevel python-devel openssl-devel
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple docker-compose
docker-compose version
harbor軟體準備
ls
anaconda-ks.cfg harbor-offline-installerv1.10.1.tgz
docker load -i prepare.tar
tar xf harbor-offlineinstaller-v1.10.1.tgz -C /usr/local
cd /usr/local/ harbor/
ls
common.sh harbor.v1.10.1.tar.gz harbor.yml install.sh LICENSE prepare
vim harbor.yml
# Configuration file of Harbor
# The IP address or hostname to access admin UI
and registry service.
# DO NOT use localhost or 127.0.0.1, because
Harbor needs to be accessed by external clients.
hostname: 192.168.216.12
修改hostname爲自己主機IP地址或域名。
由於本次演示不使用證書方式存取harbor,因此需要註釋以下行內
容:13、15、17、18
13 #https:
14 # https port for harbor, default is 443
15 # port: 443
16 # The path of cert and key files for nginx
17 # certificate: /your/certificate/path
18 # private_key: /your/private/key/path
執行環境準備指令碼,用於生成所需要檔案。
./prepare
執行安裝指令碼
./install.sh
爲docker新增本地私有映象倉庫
vim /etc/docker/daemon.json
{
"insecure-registries":["http://192.168.216.12"]
}
admin/Harhor12345
爲docker新增本地私有映象倉庫
vim /etc/docker/daemon.json
{
"insecure-registries":["http://192.168.216.12"]
}
登錄到harbor
docker login 192.168.216.12
Username: admin 使用者名稱
Password: Harbor12345 密碼
重打映象標籤
docker pull centos
docker tag centos:latest 192.168.216.12/library/centos:latest
docker push 192.168.216.12/library/centos:latest