1.安裝docker-compose1.下載docker-compose的最新版本
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2.為docker-compose添加可執行權限
chmod +x /usr/local/bin/docker-compose
3.驗證查看docker-compose版本
docker-compose --version
如果docker compose的版本太低會提示如下錯誤:
2.安裝Harbor
1)下載Harbor https://github.com/goharbor/harbor/releases ( 推薦離線安裝包)
tar -zxvf harbor-offline-installer-v1.8.0.tgz #解壓離線安裝包
mv harbor /opt/ #移到/opt目錄下
cd /opt #進入到/opt目錄
cd harbor
ll #查看目錄內容
進入harbor目錄修改harbor.yml 文件如下(我這里下載的離線安裝的版本):
然后安裝
./prepare
./install.sh
注意docker 里面不要有redis容器 否者會有提示for redis Cannot create container for service redis: Conflict
3.使用Harbor
進入http://192.168.100.3
1.增加倉庫地址:
文件目錄:/etc/docker/daemon.json (沒有則新建該文件)
{ "insecure-registries":["192.168.100.3:80"] }
或者用指令 echo '{ "insecure-registries":["192.168.100.3:80"] }' > /etc/docker/daemon.json
重啟dcoker:service docker restart
網上還有一種方法是:
修改 /lib/systemd/system/docker.service 在ExecStart的最后增加:--insecure-registry=198.168.100.3:80
修改docker.service一定要執行systemctl daemon-reload刷新配置 ,然后重啟 systemctl restart docker
連接本地的harbor
如果是windows ,右擊docker圖標,在settings里的Deamon的Insecure registries里增加Harbor的IP和端口,docker會自動重啟
2.push 鏡像
為了以防用戶信息錯亂 可以先logout 然后在login
docker logout 192.168.100.3:80
docker login 192.168.100.3:80
a.新建repo-test私有倉庫,
#拉取鏡像 docker pull hello-world #給鏡像打tag(鏡像的格式為,鏡像倉庫IP:端口/鏡像名稱) docker tag hello-world 192.168.100.3:80/repo-test/hello-world:20190720 #PUSH到倉庫 docker push 192.168.100.3:80/repo-test/hello-world
如果遇到如下錯誤:
root@gavin-vm:~# docker push 192.168.100.3:80/hello-world
The push refers to repository [192.168.100.3:80/hello-world]
af0b15c8625b: Retrying in 5 seconds
其實是打tag時打的不對 通過命令journalctl -u docker.service 或者 查看日志文件/var/log/harbor/registry.log查看錯誤日志
----2019-8-14 補充
如圖所示 每當ubuntu重啟后 harbor的某些容器不能自動啟動起來
也嘗試過修改container的啟動參數 docker container update --restart=always 容器名字/ID (禁止命令 docker container update --restart=no 容器名字/ID ),但是查看 /opt/harbor/docker-compose.yml文件里面確實有 restart: always
解決方案就是:將 harbor配成systemd的service,添加配置文件 /etc/systemd/system/harbor.service,內容如下:
[Unit] Description=Harbor After=docker.service systemd-networkd.service systemd-resolved.service Requires=docker.service Documentation=http://github.com/vmware/harbor [Service] Type=simple Restart=on-failure RestartSec=5 ExecStart=/usr/local/bin/docker-compose -f /opt/harbor/docker-compose.yml up ExecStop=/usr/local/bin/docker-compose -f /opt/harbor/docker-compose.yml down [Install] WantedBy=multi-user.target
然后啟動該服務:
sudo systemctl enable harbor
sudo systemctl start harbor
重啟再看,發現 harbor 容器組終於全部 up 了:
參考地址
How To Install and Use Docker Compose on Ubuntu 18.04