Linux安装镜像仓库Harbor
先来看一下Harbor的页面,不管是页面布局,还是操作功能,明显比registry好。
1、安装docker
2、安装docker-compse
Harbor对docker-compse的版本是有要求的,我记得是要高于1.19版本。这里提供1.25版本的安装。
1 2 3 4 5 | curl -L https: //dn-dao-github-mirror .daocloud.io /docker/compose/releases/download/1 .25.4 /docker-compose- ` uname -s`-` uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose docker-compose --version |
3、安装Harbor
1 2 3 4 5 6 7 8 9 10 | # 获取安装包 wget https: //github .com /goharbor/harbor/releases/download/v2 .4.0 /harbor-online-installer-v2 .4.0.tgz # 解压 tar -xf harbor-online-installer-v2.4.0.tgz -C /opt cp /opt/harbor/harbor .yml.tmpl /opt/harbor/harbor .yml # 修改harbor.yml文件 cd /opt/harbor/ vi harbor.yml |
1 2 3 4 5 | # Harbor的默认密码是 Harbor12345 也可以在harbor.yml配置文件进行修改。 # 运行 . /prepare . /install .sh |
4、访问
IP+端口号。
5、简单做个push操作
首先在Harbor管理页面新建一个test项目
并且这里是有推送命令的。
服务器准备(这里我用了两个机子,如果没有,就用Harbor所在的一台机子也行。主要操作就是将镜像push到镜像仓库):
1 2 | 10.159.62.232: Harbor镜像仓库所在机子 10.159.62.214: 测试机子 |
开始push(下面命令当中的test指的就是我们刚才创建的test,如果你创建了其他项目,替换就行):
1 2 3 4 | 在214机子上操作: docker pull java:8 docker tag java:8 10.159.62.232:5000 /test/java :8 docker push 10.159.62.232:5000 /test/java :8 |
第一次push报错:
解决方案:
1 2 3 4 5 6 7 8 9 | 修改214机子daemon.json文件,将下面内容复制到里面 vi /etc/docker/daemon .json { "registry-mirrors" :[ "https://docker.mirrors.ustc.edu.cn" ], "insecure-registries" : [ "10.159.62.232:5000" ] } |
第二次push报错:
解决方案:
1 2 3 4 | #在214机子上登录docker连接232,账号密码为Harbor的账号密码。 docker login 10.159.62.232:5000 # 登录成功之后重新push 成功。 |
备注:另外如果是你搭建了Jenkins+svn+docker持续基础环境,在用本镜像仓库的时候第一次push也会报 我上面第二次push的错误。
解决方案:
1 2 | # 在搭建Harbor的主机上登录一下login即可。账号密码为Harbor的账号密码。 docker login 10.159.62.232:5000 |
6、修改了配置文件并生效的操作步骤
1 2 3 4 5 | 1 进行Harbor目录 2 修改harbor.yml文件 3 . /prepare 4 docker-compose donw - v 5 docekr-compose up -d |
7、Harbor开机自启
1 2 | #编辑harbor.service,将下面内容复制进去 vi /lib/systemd/system/harbor .service |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [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 |
1 2 3 | # 启动harbor.service文件使之生效 systemctl enable harbor systemctl start harbor |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2021-08-11 Consider defining a bean of type 'redis.clients.jedis.JedisPool' in your configuration.