经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Docker » 查看文章
Docker私服仓库Harbor安装的步骤详解
来源:jb51  时间:2019/5/27 8:31:43  对本文有异议

Harbor安装那里还是很简单,就是在Docker Login那里掉坑里去了,搞半天,写博客的时候,又重新安装了一遍


1.准备两台服务器

  • centos7
  • harbor 10.19.46.15
  • client 10.19.44.31

2.harbor需要安装docker和docker-composere,client只需要安装docker

Docker安装

  1. yum install -y yum-utils device-mapper-persistent-data lvm2
  2. yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  3. yum -y install docker-ce
  4. systemctl start docker

Docker Compose 安装

  1. Docker Compose 安装
  2. yum install epel-release
  3. yum install -y python-pip
  4. pip install docker-compose
  5. yum install git

harbor1.8 下载

https://github.com/goharbor/harbor/releases

解压出来

  1. [root@harbor harbor]# ll
  2. 总用量 32
  3. -rw-r--r--. 1 root root 4519 5 21 15:59 harbor.yml
  4. -rwxr-xr-x. 1 root root 5088 5 21 15:59 install.sh
  5. -rw-r--r--. 1 root root 11347 5 21 15:59 LICENSE
  6. -rwxr-xr-x. 1 root root 1654 5 21 15:59 prepare

修改harbor.yml

hostname 这里设置本机的ip

harbor_admin_password web页面的密码

运行

  1. sh ./install.sh

安装成功

  1. ......
  2. Status: Downloaded newer image for goharbor/harbor-registryctl:v1.8.0
  3. Creating harbor-log ... done
  4. Creating harbor-db ... done
  5. Creating registry ... done
  6. Creating redis ... done
  7. Creating registryctl ... done
  8. Creating harbor-core ... done
  9. Creating harbor-jobservice ... done
  10. Creating harbor-portal ... done
  11. Creating nginx ... done
  12.  
  13. ----Harbor has been installed and started successfully.----
  14.  
  15. Now you should be able to visit the admin portal at http://10.19.46.15.
  16. For more details, please visit https://github.com/goharbor/harbor .

访问页面

http://10.19.46.15

如果想要停止,或者是服务器重启了,需要手动重启,在harbor的安装目录,里执行命令

  1. [root@harbor harbor]# ll
  2. 总用量 40
  3. drwxr-xr-x. 3 root root 20 5 22 22:24 common
  4. -rw-r-----. 1 root root 5183 5 22 22:24 docker-compose.yml
  5. -rw-r--r--. 1 root root 4514 5 22 22:23 harbor.yml
  6. -rwxr-xr-x. 1 root root 5088 5 21 15:59 install.sh
  7. -rw-r--r--. 1 root root 11347 5 21 15:59 LICENSE
  8. -rwxr-xr-x. 1 root root 1654 5 21 15:59 prepare
  9.  
  10. # 停止
  11. [root@harbor harbor]# docker-compose stop
  12. Stopping nginx ... done
  13. Stopping harbor-portal ... done
  14. Stopping harbor-jobservice ... done
  15. Stopping harbor-core ... done
  16. Stopping registryctl ... done
  17. Stopping redis ... done
  18. Stopping registry ... done
  19. Stopping harbor-db ... done
  20. Stopping harbor-log ... done
  21.  
  22. # 运行
  23. [root@harbor harbor]# docker-compose start
  24. Starting log ... done
  25. Starting postgresql ... done
  26. Starting redis ... done
  27. Starting registry ... done
  28. Starting core ... done
  29. Starting jobservice ... done
  30. Starting portal ... done
  31. Starting proxy ... done
  32. Starting registryctl ... done

在另外一个服务器(client)登录harbor

  1. [root@client ~]# docker login 10.19.46.15
  2. Username: admin
  3. Password:
  4. Error response from daemon: Get https://10.19.46.15/v2/: dial tcp 10.19.46.15:443: connect: connection refused

这是因为docker1.3.2版本开始默认docker registry使用的是https,我们设置Harbor默认http方式,所以当执行用docker login、pull、push等命令操作非https的docker regsitry的时就会报错。

解决https

在harbor那台服务器,在harbor的安装目录

  1. vim docker-compose.yml

然后同时编辑harbor和client的docker配置文件,10.19.46.15 是harbor的ip地址

  1. # 1.
  2. vim /etc/docker/daemon.json
  3.  
  4. {
  5. "insecure-registries": [
  6. "10.19.46.15"
  7. ]
  8. }
  9.  
  10. # 2.添加ExecStart=/usr/bin/dockerd |--insecure-registry=10.19.46.15
  11. vim /usr/lib/systemd/system/docker.service
  12.  
  13. # 把这行注释掉,添加下面的配置 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
  14. ExecStart=/usr/bin/dockerd
  15. |--insecure-registry=10.19.46.15

1.重启harbor 的 docker-compose,命令文上有
2.重启docker

  1. systemctl daemon-reload
  2. systemctl restart docker

client 登录仓库

  1. [root@client ~]# docker login 10.19.46.15
  2. Username: admin
  3. Password:
  4. WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
  5. Configure a credential helper to remove this warning. See
  6. https://docs.docker.com/engine/reference/commandline/login/#credentials-store
  7. Login Succeeded

偷工减料

pull 的命令

推送和打tag的命令

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号