Harbor:修改默认的172网段

简介: Harbor:修改默认的172网段

背景: harbor 默认启动会随机创建 172 网段的ip地址,跟集群规划的网段冲突

Harbor 网段修改步骤

0. 原来Harbor占用的网段

# 网桥名:harbor_harbor
[root@gpunode2 test]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
da8684ecc4b6        harbor_harbor       bridge              local
# 查看路由表
[root@gpunode2 test]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.21.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-da8684ecc4b6
# 查看网桥内部信息
docker inspect da8684ecc4b6
# 确认到Harbor占用的网段是172.21.0.0,和公司规划冲突

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B4zFPkVD-1657849708271)(https://cdn.jsdelivr.net/gh/Fly0905/note-picture@main/imag/202207141603387.png)]

1、停止harbor

#停止harbor
docker-compose -f /opt/harbor/docker-compose.yml down
[root@gpunode2 harbor]# docker-compose -f /opt/harbor/docker-compose.yml down
Stopping harbor-jobservice ... done
Stopping nginx             ... done
Stopping harbor-core       ... done
Stopping harbor-db         ... done
Stopping registry          ... done
Stopping registryctl       ... done
Stopping redis             ... done
Stopping harbor-portal     ... done
Stopping harbor-log        ... done
Removing harbor-jobservice ... done
Removing nginx             ... done
Removing harbor-core       ... done
Removing harbor-db         ... done
Removing registry          ... done
Removing registryctl       ... done
Removing redis             ... done
Removing harbor-portal     ... done
Removing harbor-log        ... done
Removing network harbor_harbor
# 查看网桥,确认harbor_harbor是否已经删掉
docker network ls
# 如果没有,使用以下命令删除网桥
# docker network remove [NETWORK ID]

2、创建Harbor新的网桥

# 创建Harbor新的网桥
docker network create --driver=bridge --subnet=172.252.0.1/16 harbor
# 验证网桥信息
[root@gpunode2 harbor]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
e0a7e55534db        harbor              bridge              local
[root@gpunode2 harbor]# route -n | grep e0a7e55534db
172.252.0.0     0.0.0.0         255.255.0.0     U     0      0        0 br-e0a7e55534db

3、修改compose配置

# 2. 修改docker-compose.yml  把最下面network false 改成true
networks:
  harbor:
    external: true

4、重新启动

# 重新启动   
docker-compose -f /opt/harbor/docker-compose.yml up  -d --force-recreate

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3fOraodQ-1657849708272)(https://cdn.jsdelivr.net/gh/Fly0905/note-picture@main/imag/202207141659623.png)]

注意

1. 启动方式

这种方式重启后,会使用新的网桥

但是使用.prepre命令重新生成配置文件后,或者./install.sh命令重装后,还是会创建harbor_harbor随机网桥,可能会冲突

所以,在使用.prepre命令或者./install.sh命令后,记得修改docker-compose.yml 把最下面network false 改成true

2. 使用非172网段

如果使用非172网段,在步骤2:创建Harbor新的网桥,还需要修改/etc/docker/daemon.json中的bip

因为doker默认使用的也是172网段,所以harbor指定的也是172网段,就不需要额外修改docker配置,只需要修改harbor配置就好了

#修改docker 网络地址
$  cat /etc/docker/daemon.json 
{
    // 修改bip--network bridge IP
    "bip":"172.254.0.1/16"
}
# 重启docker
systemctl daemon-reload
systemctl start docker

参考链接

https://docs.docker.com/engine/reference/commandline/dockerd/#/linux-configuration-file

https://goharbor.io/docs/2.0.0/install-config/run-installer-script/

ne/reference/commandline/dockerd/#/linux-configuration-file

https://goharbor.io/docs/2.0.0/install-config/run-installer-script/

https://docs.docker.com/compose/compose-file/

相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
相关文章
|
Kubernetes 安全 网络协议
【K8S系列】深入解析k8s网络插件—Calico
【K8S系列】深入解析k8s网络插件—Calico
5059 0
|
安全 Linux 网络安全
组网神器WireGuard安装与配置教程(超详细)
组网神器WireGuard安装与配置教程(超详细)
38181 2
|
存储 Java API
如何在Spring Boot应用程序中使用华为云的OBS云存储来上传和删除图片?
如何在Spring Boot应用程序中使用华为云的OBS云存储来上传和删除图片?
682 1
|
Kubernetes 容器 Perl
【kubernetes】解决: kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = faile...
【kubernetes】解决: kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = faile...
16817 0
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
13113 38
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
Kubernetes 应用服务中间件 nginx
史上最全干货!Kubernetes 原理+实战总结(全文6万字,90张图,100个知识点)(上)
史上最全干货!Kubernetes 原理+实战总结(全文6万字,90张图,100个知识点)
52193 30
|
Java Apache Maven
Java将word文档转换成pdf文件的方法?
【10月更文挑战第13天】Java将word文档转换成pdf文件的方法?
3980 1
|
JSON Kubernetes 数据格式
crictl 常见的命令大全
crictl(Container Runtime Interface Command Line Interface)是一个命令行工具,用于与符合Kubernetes容器运行时接口(CRI)规范的容器运行时进行交互。它提供了一系列命令来查看和管理容器、镜像、Pod等资源。以下是crictl的一些常见命令及其功能概述: ### 1. 镜像管理 * **查看镜像**: - `crictl images`:列出所有镜像。 - `crictl images | grep <image-name>`:查看特定镜像。 * **拉取镜像**: - `crictl pull <image_na
5076 8
|
安全 应用服务中间件 网络安全
Harbor基于docker-compose部署【亲测有效】
Harbor基于docker-compose部署【亲测有效】
2036 4
|
Kubernetes 应用服务中间件 nginx
K8S部署Metrics-Server服务
K8S部署Metrics-Server服务
309 1