尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

cobbler for docker

cobbler for docker
📅 发布时间:2026/6/20 12:42:14

cobbler for docker

cobbler 简介

Cobbler是一个免费开源系统安装部署软件,用于自动化网络安装操作系统。在生产环境中,经常批量部署几十甚至上百台服务器时,实现自动化安装操作系统尤为重要,按照传统的光盘引导安装工作量是不可预估的;此前我们通过pxe+kickstart简单实现了自动化安装,但只能实现单一版本安装,当需要部署不同版本或不同引导模式(BIOS、EFI)时,此种方式就不够灵活。而Cobbler正是为了解决此问题而设计的.

Cobbler集成的服务

PXE服务支持
DHCP服务管理
DNS服务管理(可选bind,dnsmasq)
电源管理
Kickstart服务支持
YUM仓库管理
TFTP(PXE启动时需要)
Apache(提供kickstart的安装源,并提供定制化的kickstart配置)

Cobbler工作原理

111

# Server端:第一步,启动Cobbler服务第二步,进行Cobbler错误检查,执行cobbler check命令第三步,进行配置同步,执行cobbler sync命令第四步,复制相关启动文件文件到TFTP目录中第五步,启动DHCP服务,提供地址分配第六步,DHCP服务分配IP地址第七步,TFTP传输启动文件第八步,Server端接收安装信息第九步,Server端发送ISO镜像与Kickstart文件
# Client端:第一步,客户端以PXE模式启动第二步,客户端获取IP地址第三步,通过TFTP服务器获取启动文件第四步,进入Cobbler安装选择界面第五步,客户端确定加载信息第六步,根据配置信息准备安装系统第七步,加载Kickstart文件第八步,传输系统安装的其它文件第九步,进行安装系统

docker 部署 cobbler 服务 简单快捷

# 下载镜像
docker pull babyfenei/docker-cobbler:latest
# 安装 docker-compose(docker version 大于 19.0.0 则不用安装这个,因为docker集成了)
apt-get install python-pip #yum install python-pip
pip install --upgrade pip
pip install docker-compose
# 准备docker-compose yml文件
docker-compose.yml
cobbler:image: babyfenei/docker-cobbler:latestcontainer_name: docker-cobblerhsotname: docker-cobblerrestart: alwaysenvironment:- SET_CONTAINER_TIMEZONE=true- CONTAINER_TIMEZONE=Asia/Shanghaivolumes:- /mnt:/mnt:ro- /etc/localtime:/etc/localtime:roenv_file: cobbler.envnet: "host"
# 以上docker-compose.yml里的变量文件 cobbler.env
cat >cobbler.env << EOF
#服务器IP地址
SERVER_IP=192.168.85.115
#装机后服务器的root密码
ROOT_PASSWORD=kc@123456
#指定批量装机需要获取的IP地址段
DHCP_RANGE=192.168.85.230 192.168.85.235
#指定DHCP的网段
DHCP_SUBNET=192.168.85.0
#指定DHCP的网关
DHCP_ROUTER=192.168.85.1
#指定DHCP的DNS地址
DHCP_DNS=8.8.8.8
EOF
# 启动容器
docker-compose -f docker-compose.yml up -d

查看日志确认启动是否正确

# 报错
*** TASK COMPLETE ***
+ cobbler get-loaders
task started: 2020-09-21_221825_get_loaders
task started (id=Download Bootloader Content, time=Mon Sep 21 22:18:25 2020)
path /var/lib/cobbler/loaders/README already exists, not overwriting existing content, use --force if you wish to update
path /var/lib/cobbler/loaders/COPYING.elilo already exists, not overwriting existing content, use --force if you wish to update
path /var/lib/cobbler/loaders/COPYING.yaboot already exists, not overwriting existing content, use --force if you wish to update
path /var/lib/cobbler/loaders/COPYING.syslinux already exists, not overwriting existing content, use --force if you wish to update
path /var/lib/cobbler/loaders/elilo-ia64.efi already exists, not overwriting existing content, use --force if you wish to update
path /var/lib/cobbler/loaders/yaboot already exists, not overwriting existing content, use --force if you wish to update
path /var/lib/cobbler/loaders/pxelinux.0 already exists, not overwriting existing content, use --force if you wish to update
path /var/lib/cobbler/loaders/menu.c32 already exists, not overwriting existing content, use --force if you wish to update
path /var/lib/cobbler/loaders/grub-x86.efi already exists, not overwriting existing content, use --force if you wish to update
path /var/lib/cobbler/loaders/grub-x86_64.efi already exists, not overwriting existing content, use --force if you wish to update# 重启容器
*** TASK COMPLETE ***
+ pkill cobblerd
+ pkill httpd
+ rm -rf /run/httpd/authdigest_shm.22 /run/httpd/httpd.pid
+ exec supervisord -n -c /etc/supervisord.conf
2020-09-21 22:18:27,608 CRIT Supervisor running as root (no user in config file)
2020-09-21 22:18:27,608 WARN Included extra file "/etc/supervisord.d/conf.ini" during parsing
2020-09-21 22:18:27,628 INFO RPC interface 'supervisor' initialized
2020-09-21 22:18:27,628 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2020-09-21 22:18:27,628 INFO supervisord started with pid 1
2020-09-21 22:18:28,632 INFO spawned: 'httpd' with pid 76
2020-09-21 22:18:28,639 INFO spawned: 'cobblerd' with pid 77
2020-09-21 22:18:28,655 INFO spawned: 'tftpd' with pid 78
2020-09-21 22:18:28,663 INFO spawned: 'dhcpd' with pid 79
2020-09-21 22:18:28,678 INFO reaped unknown pid 22
2020-09-21 22:18:29,681 INFO success: httpd entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-09-21 22:18:29,681 INFO success: cobblerd entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-09-21 22:18:29,682 INFO success: tftpd entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-09-21 22:18:29,682 INFO success: dhcpd entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

https://gitee.com/luokeli0755/docker-cobbler.git

本文来自博客园,站在巨人的肩膀上,坚持开源精神,遵循开源协议:Apache Licene 2.0协议。

相关新闻

  • 2025年10月河南A-Level培训机构评测榜:五强对比与择校参考
  • 2025年定制托盘货架厂家权威推荐榜:重型货架、仓储货架、阁楼式货架、自动化立库货架专业选购指南
  • 2025年口碑好的外墙保温岩棉板厂家最新推荐排行榜

最新新闻

  • 鸣潮自动化终极指南:ok-ww免费脚本快速解放你的游戏时间
  • 2026年6月最新劳力士中国官方售后客户服务地址及联系电话 - 劳力士服务中心
  • Arbor框架:相同预算下性能比其他模型高2.5倍,助力AI编码代理学习进步
  • 2026年6月最新浪琴中国官方售后服务中心网点地址与客服电话 - 浪琴服务中心
  • 2026年6月最新百达翡丽中国官方售后客服服务电话及地址网点大全 - 百达翡丽服务中心
  • 新疆大学考研辅导班TOP推荐:核心指南与深度拆解 - michalwang

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号