harbor 单容器运行

Harbor - 私人docker镜像仓库

  • 单容器实例 + Portainer-agent 管理

  • 由于 harbor 启动后有多个容器,在 docker 中不易管理,启停麻烦,因此使用 docker in docker 部署便可解决这个烦恼

1.创建容器

  • 镜像:docker:dind 此容器为docker in docker官方镜像DockerHub
  • 端口:
    • 宿主:80 harbor http
    • 宿主:443 harbor https
    • 宿主:9001 portainer-agent
  • 文件:
    • 宿主:/data harbor data
docker run -itd --privileged --name harbor -p 80:80 -p 443:443 -p 9001:9001 -v /data/run:/var/run -v /data:/data docker:dind

此处将 /var/run 映射出来是防止强行关闭容器会导致pid残留而无法启动harbor,映射出后可以直接在文件中删除pid

2.进入容器

docker exec -it harbor /bin/ash
  • 进入根目录下载harbor文件GitHub
cd /
wget https://github.com/goharbor/harbor/releases/download/v2.8.2/harbor-offline-installer-v2.8.2.tgz

此处下载的是2.8.2版本标准离线版镜像

  • 解压
tar -zxf harbor-offline-installer-v2.8.2.tgz

解压出的就是名为harbor的文件夹

  • 删除压缩包节约空间,文件 > 500MB
rm harbor-offline-installer-v2.8.2.tgz
  • 进入 harbor 文件夹
cd /harbor
  • 可以看到如下文件

image-20230720163951841

  • harbor.yml.tmpl文件名改为harbor.yml
mv harbor.yml.tmpl harbor.yml
  • 然后修改文件内容
vi harbor.yml

需要修改的位置为:

  1. hostname 修改为你的 hostname

  2. https 中的证书文件 image-20230720164258381 将其修改为 image-20230720164412109

    此处的证书文件,需要退出容器,在宿主机的映射目录中放入响应文件

    如果不需要 https ,则可以将所有的 https 及其子项头全部加 # 注释即可

  3. harbor_admin_password 此处要修改管理员密码,后续进入系统后也可修改,管理员账户 root

  4. 其他位置默认均不用修改

  • 下载安装 bash
apk add bash

网络状态不好可以换清华源

echo "http://mirrors.sjtug.sjtu.edu.cn/alpine/latest-stable/main" > /etc/apk/repositories
echo "http://mirrors.sjtug.sjtu.edu.cn/alpine/latest-stable/community" >> /etc/apk/repositories
  • 一切准备就绪,执行安装程序
./install.sh

3.安装portainer监控容器

  • 在容器内执行
docker run -d \
  -p 9001:9001 \
  --name portainer_agent \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /var/lib/docker/volumes:/var/lib/docker/volumes \
  portainer/agent:2.18.4
  • 在portainer添加即可在portainer主页管理内部容器状态

image-20230720165659190

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值