Docker项目
Docker部署MailCow邮件服务器
Docker部署Wireguard
Docker + Brook + Portainer搭建端口转发
Docker部署Omnivore
Docker部署Wallabag
Docker安装
【教程】Docker常用命令大全汇总
最详细的ubuntu 安装 docker教程-腾讯云开发者社区-腾讯云
Ubuntu | Docker — 从入门到实践
Docker部署mailserver邮件服务器
Docker部署Danted
Docker部署思源笔记
Docker部署Leanote
Docker部署RustDesk
Docker部署Rustdesk自建服务器:一步步教你搭建
官方安装文档
官方安装文档(宝塔面板)
Docker搭建Easyimage简单图床
Docker搭建lsky-pro图床
兰空图床(lsky-pro) 利用反向代理实现跨域访问
搭建私有docker仓库
搭建一个私有的Docker镜像仓库
私有仓库 | Docker — 从入门到实践
手把手教你搭建Docker私有仓库Harbor
基于Docker搭建私有镜像仓库-腾讯云开发者社区-腾讯云
Harbor备份与还原
担心Harbor数据丢失?谈谈Harbor的备份和恢复方法。
Docker之推送镜像到Harbor
关于Harbor私有仓库的搭建及使用-腾讯云开发者社区-腾讯云
harbor | Docker入门教程
Docker安装iRedMail邮件服务器
搭建自己的邮箱服务器 -iredmail-docker安装
如何设置 A 记录和 rDNS 记录
iRedmail | CONTAINERISATION & ORCHESTRATION
【Docker项目实战】使用Docker部署IP工具箱MyIP-阿里云开发者社区
本文档使用 MrDoc 发布
-
+
首页
搭建私有docker仓库
## 使用harbor搭建docker私有仓库 harbor是一种流行的docker私有仓库管理软件,看网上介绍很多,这里记录一下安装过程和中途需要记录和注意的问题 ### 下载harbor安装程序 harbor官方的github地址,可以从这个[页面](https://github.com/goharbor/harbor "页面")找到并下载最新版本,注意最好是稳定版本,测试和开发版本不要去使用。 ```shell wget https://github.com/goharbor/harbor/releases/download/v2.12.0/harbor-offline-installer-v2.12.0.tgz ``` 然后进行解压缩,把解压缩的内容放到网站的根目录下面 ```shell tar -zxvf harbor-offline-installer-v2.12.0.tgz ``` ### 安装harbor程序 #### 修改配置文件 harbor先需要修改harbor.yml,设置一些环境变量,然后会自动生成一个docker-compose配置文件,自动以docker-compose形式启动harbor。首先从模板创建一份配置文件 ```shell cp harbor.yml.tmpl harbor.yml ``` 修改harbor.yml配置文件,根据服务器的情况修改下图中框出来的部分的内容,这些参数将用到接下来的docker-compose文件中   说明:`hostname`需要改成服务器的ip地址或者服务器的域名,`port`需要改成其他数字比如5000端口,`https` `port:443` `certificate` `private_key`这几个选项都要注释掉去,因为我们最后使用nginx的反向代理,这里无需配置; `harbor_admin_password`是harbor登陆的密码,需要修改成自己的,默认的用户名是admin;database下面的`password`选项要修改成自己的密码,随便一个就行,但是不要用默认的密码;最后`data_volume`是harbor数据存储目录,默认是在服务器的/data目录下,建议进行修改,放到网站目录下,这样方便以后备份数据。修改之后的结果是这样的:   #### 启动harbor安装程序 配置文件修改成功后,执行安装目录下的install.sh 脚本启动harbor的安装。因为安装脚本将使用docker进行安装,所以首先要先确保docker和docker-compose成功安装并运行正常。 ```shell ./install.sh ``` 安装输出的信息也贴几张图,供以后参考     ### 登陆和使用harbor 安装好了以后,可以使用`http://ip:5000`登陆harbor服务器了,运行在5000端口,http协议。登陆默认用户名admin,密码使用harbor.yml里设置的密码,登陆以后界面如下:  为了访问方便,我喜欢设置nginx的反向代理,用宝塔面板默认的反向代理设置即可,但如果是lnmp环境下,大致也可以用,个别地方需要进行修改。主要是`proxy_set_header Connection $connection_upgrade`这个参数,lnmp环境下需要对nginx的配置文件作出修改,可以参考本wiki下的相关文章,也是网友大牛们给出的答案。 ```json location ^~ / { proxy_pass http://127.0.0.1:5000; proxy_set_header Host 127.0.0.1; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_http_version 1.1; # proxy_hide_header Upgrade; add_header X-Cache $upstream_cache_status; #Set Nginx Cache set $static_fileIQQO6t5Y 0; if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" ) { set $static_fileIQQO6t5Y 1; expires 1m; } if ( $static_fileIQQO6t5Y = 0 ) { add_header Cache-Control no-cache; } } ``` ### 本地镜像push到harbor的注意事项 #### 解决harbor服务器不受信任问题 ```json nano /etc/docker/daemon.json ``` 这里记录一个**重要的事项**,当时也是困扰了我一点时间。因为网站启用了nginx反向代理,所以登陆网页的时候使用的是`https://docker.flyss.de`,因为有效的证书在,无需进行安全设置,可以登陆但无法push镜像,会出现`405` `Not Allowed`等错误。  这是因为,实际上harbor的数据还是通过5000端口传输,因此push的时候需要登陆和使用的是`http://docker.flyss.de:5000`,但harbor有安全机制,默认不允许不安全的连接,因此必须将docker.flyss.de作为例外。如果`daemon.json`不存在就建立这个文件。 ```json {"insecure-registries": ["docker.flyss.de:5000"]} ``` 重启docker服务 ```json systemctl daemon-reload systemctl restart docker ``` #### 登陆并上传镜像 ```json docker login docker.flyss.de:5000 ``` 之后输入用户名和密码,显示登陆成功即可。上传之前,需要对本地准备上传的docker镜像进行tag(标记): ```json #列出本地镜像,找到要标记和上传的镜像 docker image ls #对镜像进行标记,格式docker tag [imageID] docker.flyss.de:5000/项目名称/镜像名[tag] docker tag c89f58b471b2 docker.flyss.de:5000/library/lsky-pro #push镜像到harbor docker push docker.flyss.de:5000/library/lsky-pro ``` push成功后是这样的 
hunterzuo
2024年11月16日 11:22
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码