Eswlnk Blog Eswlnk Blog
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈
  • 注册
  • 登录
首页 › 其他分享 › 「其他分享」Docker版harbor实现开机自启

「其他分享」Docker版harbor实现开机自启

Eswlnk的头像
Eswlnk
2022-08-23 12:23:59
「其他分享」Docker版harbor实现开机自启-Eswlnk Blog
智能摘要 AI
Harbor是一个企业级Docker私有仓库解决方案,通过Docker-compose管理容器。安装时需根据官方指南配置harbor.yml,确保使用自签名证书、定期备份数据卷以及LDAP整合配置。所有容器默认设置为`restart: always`,但手动停止后不会重启。作者遇到部分容器未自动重启的问题,通过将Harbor配置为systemd服务解决了此问题。最终重启服务器后,所有容器均正常启动并保持健康状态。

Harbor是一个企业 Docker私人仓储的工程,当Docker-compose开始时, Harbor自身包括许多Docker-compose,它们通过Docker-compose来控制 containers的相关。

「其他分享」Docker版harbor实现开机自启-Eswlnk Blog

安装

具体的设置请参阅正式文件: Harbor-部署和配置指南。yml在我们对 harbor. yml进行了一些修改时,有以下几点需要考虑:

  1. 当您在 https中创建您自己的凭证并将其配置到 harbor. yml中。
  2. 客户机还必须将您所产生的凭证安装起来,不然就会出错。(所以一定要备份凭证)
  3. Docker – Using self-signed certificates
  4. 可以将data_volume作为/data/harbor,并将其作为一个周期性的备份。(也可以将 harbor安装到新设备上,并定时进行 Harbor的存储系统。)
  5. 对于企业来说,也有必要对 ldap整合确认进行配置。

然后,通过命令(sudo./install. s)来设置 harbor (看来一定要用 sudo,原因是所有的配置都是 root,并且有非常苛刻的特权。)当安装完毕时, harbor将会被自动地引导。

自动启动

查看 harbor 目录下的 docker-compose.yml 会发现,所有的 containers 都配置了 restart: always:

version: '2.3'
services:
  log:
    image: goharbor/harbor-log:v1.8.1
    container_name: harbor-log
    restart: always
    dns_search: .
    # ......

  registry:
    image: goharbor/registry-photon:v2.7.1-patch-2819-v1.8.1
    container_name: registry
    restart: always
    # ......

这表示所有的容器在意外关闭后都会自动重启,比如 docker 重启或服务器重启。(手动 stop 不会自动重启)

但是我在手动运行 docker-compose up -d,然后重启服务器后,发现有几个 container 并没有自动重启:

[ryan@ryan-pc ~]$ docker ps -a
CONTAINER ID        IMAGE                                               COMMAND                  CREATED             STATUS                             PORTS                       NAMES
f30d802002a4        goharbor/nginx-photon:v1.8.1                        "nginx -g 'daemon of…"   13 hours ago        Exited (128) 27 minutes ago        0.0.0.0:80->80/tcp          nginx
21472ce8a993        goharbor/harbor-portal:v1.8.1                       "nginx -g 'daemon of…"   13 hours ago        Exited (128) 27 minutes ago        80/tcp                      harbor-portal
5d866bb17c58        goharbor/harbor-jobservice:v1.8.1                   "/harbor/start.sh"       13 hours ago        Exited (137) 26 minutes ago                                    harbor-jobservice
0cf0f93b5a87        goharbor/harbor-core:v1.8.1                         "/harbor/start.sh"       13 hours ago        Up 11 seconds (health: starting)                               harbor-core
cba280d9b945        goharbor/redis-photon:v1.8.1                        "docker-entrypoint.s…"   13 hours ago        Exited (137) 26 minutes ago        6379/tcp                    redis
473e46d1f746        goharbor/harbor-registryctl:v1.8.1                  "/harbor/start.sh"       13 hours ago        Up 11 seconds (health: starting)                               registryctl
51f105f1691d        goharbor/registry-photon:v2.7.1-patch-2819-v1.8.1   "/entrypoint.sh /etc…"   13 hours ago        Exited (137) 26 minutes ago        5000/tcp                    registry
c41594ec7779        goharbor/harbor-db:v1.8.1                           "/entrypoint.sh post…"   13 hours ago        Up 11 seconds (health: starting)   5432/tcp                    harbor-db
713bd4961772        goharbor/harbor-log:v1.8.1                          "/bin/sh -c /usr/loc…"   13 hours ago        Up 11 seconds (health: starting)   127.0.0.1:1514->10514/tcp   harbor-log

可以看到下列五个容器都处于 Exited 状态:

goharbor/nginx-photon:v1.8.1
goharbor/harbor-portal:v1.8.1
goharbor/harbor-jobservice:v1.8.1
goharbor/redis-photon:v1.8.1
goharbor/registry-photon:v2.7.1-patch-2819-v1.8.1

搜索发现有人提过这个 issue: https://github.com/goharbor/harbor/issues/7008

于是尝试将 harbor 配成 systemd 的 service,添加配置文件 /usr/lib/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 {{ harbor_install_path }}/harbor/docker-compose.yml up
ExecStop=/usr/local/bin/docker-compose -f {{ harbor_install_path }}/harbor/docker-compose.yml down

[Install]
WantedBy=multi-user.target

其中 {{ harbor_install_path }} 换成自己的 harbor 安装路径。 还有 docker-compose 的绝对路径,请通过 which docker-compose 查看。

然后启动该项服务:

sudo systemctl enable harbor
sudo systemctl start harbor

现在查看下 harbor.service 的情况:

● harbor.service - Harbor
   Loaded: loaded (/usr/lib/systemd/system/harbor.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2019-07-07 12:54:27 CST; 2min 4s ago
     Docs: http://github.com/vmware/harbor
 Main PID: 9734 (docker-compose)
    Tasks: 11 (limit: 4915)
   Memory: 35.7M
   CGroup: /system.slice/harbor.service
           └─9734 /usr/bin/python /usr/bin/docker-compose -f /home/ryan/harbor/docker-compose.yml up

7月 07 12:54:30 ryan-pc docker-compose[9734]: [128B blob data]
7月 07 12:54:31 ryan-pc docker-compose[9734]: [167B blob data]
7月 07 12:54:31 ryan-pc docker-compose[9734]: registryctl    | WARNING: no logs are available with the 'syslog' log driver
7月 07 12:54:31 ryan-pc docker-compose[9734]: registry       | WARNING: no logs are available with the 'syslog' log driver
7月 07 12:54:31 ryan-pc docker-compose[9734]: harbor-db      | WARNING: no logs are available with the 'syslog' log driver
7月 07 12:54:31 ryan-pc docker-compose[9734]: redis          | WARNING: no logs are available with the 'syslog' log driver
7月 07 12:54:31 ryan-pc docker-compose[9734]: harbor-core    | WARNING: no logs are available with the 'syslog' log driver
7月 07 12:54:31 ryan-pc docker-compose[9734]: harbor-jobservice | WARNING: no logs are available with the 'syslog' log driver
7月 07 12:54:31 ryan-pc docker-compose[9734]: harbor-portal  | WARNING: no logs are available with the 'syslog' log driver
7月 07 12:54:31 ryan-pc docker-compose[9734]: nginx          | WARNING: no logs are available with the 'syslog' log driver

重启服务器再确认,发现 harbor 容器组终于全部 up 了:

[ryan@ryan-pc ~]$ docker ps -a
CONTAINER ID        IMAGE                                               COMMAND                  CREATED             STATUS                    PORTS                       NAMES
90943210e354        goharbor/nginx-photon:v1.8.1                        "nginx -g 'daemon of…"   37 seconds ago      Up 35 seconds (healthy)   0.0.0.0:80->80/tcp          nginx
bc70706d7b5f        goharbor/harbor-portal:v1.8.1                       "nginx -g 'daemon of…"   38 seconds ago      Up 36 seconds (healthy)   80/tcp                      harbor-portal
54e132bd1a10        goharbor/harbor-jobservice:v1.8.1                   "/harbor/start.sh"       38 seconds ago      Up 36 seconds                                         harbor-jobservice
28ada4a941ee        goharbor/harbor-core:v1.8.1                         "/harbor/start.sh"       39 seconds ago      Up 37 seconds (healthy)                               harbor-core
de44686f7e72        goharbor/registry-photon:v2.7.1-patch-2819-v1.8.1   "/entrypoint.sh /etc…"   39 seconds ago      Up 38 seconds (healthy)   5000/tcp                    registry
e5efdae34c13        goharbor/harbor-db:v1.8.1                           "/entrypoint.sh post…"   39 seconds ago      Up 38 seconds (healthy)   5432/tcp                    harbor-db
a5fe52e1f184        goharbor/harbor-registryctl:v1.8.1                  "/harbor/start.sh"       39 seconds ago      Up 38 seconds (healthy)                               registryctl
4a74b5f3499a        goharbor/redis-photon:v1.8.1                        "docker-entrypoint.s…"   39 seconds ago      Up 38 seconds             6379/tcp                    redis
677fd84d0a70        goharbor/harbor-log:v1.8.1                          "/bin/sh -c /usr/loc…"   40 seconds ago      Up 39 seconds (healthy)   127.0.0.1:1514->10514/tcp   harbor-log

本站默认网盘访问密码:1166
本站默认网盘访问密码:1166
dockDockerdocker-composelogphoton
1
0
Eswlnk的头像
Eswlnk
一个有点倒霉的研究牲站长
赞赏
「其他分享」Ventoy制作U盘多系统启动教程
上一篇
「其他分享」PHPStudy搭建本地PHP环境
下一篇

评论 (0)

请登录以参与评论
现在登录
    发表评论

猜你喜欢

  • 「亲测有效」Google Gemini 学生优惠:解决身份验证和支付卡验证
  • 解决国际版EdgeOne绑卡和手机验证问题
  • 小工具开发之EdgeOne免费计划兑换工具
  • 「其他分享」市面上静态页面服务商比较与推荐:选择最适合您的平台
  • 「图片优化」利用Cloudflare CDN减少回源Bucket流量
Eswlnk的头像

Eswlnk

一个有点倒霉的研究牲站长
1108
文章
319
评论
679
获赞

随便看看

「投稿推广」墨云限时促销,各大区VPS最低26折起
2022-07-31 16:06:50
阿帕斯手机管家怎么样?
2022-07-20 11:53:48
待收藏 | 做好这几步,即可准确识别百度蜘蛛!
2022-03-24 21:50:47

文章目录

专题展示

WordPress53

工程实践37

热门标签

360 AI API CDN java linux Nginx PDF PHP python SEO Windows WordPress 云服务器 云服务器知识 代码 免费 安全 安卓 工具 开发日志 微信 微软 手机 插件 攻防 攻防对抗 教程 日志 渗透分析 源码 漏洞 电脑 破解 系统 编程 网站优化 网络 网络安全 脚本 苹果 谷歌 软件 运维 逆向
  • 首页
  • 知识库
  • 地图
Copyright © 2023-2025 Eswlnk Blog. Designed by XiaoWu.
本站CDN由 壹盾安全 提供高防CDN安全防护服务
蜀ICP备20002650号-10
页面生成用时 0.892 秒   |  SQL查询 46 次
本站勉强运行:
友情链接: Eswlnk Blog 网站渗透 倦意博客 特资啦!个人资源分享站 祭夜博客 iBAAO壹宝头条
  • WordPress142
  • 网络安全64
  • 漏洞52
  • 软件52
  • 安全48
现在登录
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈