思路: 在一个docker环境,直接拉下来笔者的镜像,直接启动一个可用的容器即可. 此镜像提供一个直接可用的 puppet服务端(foreman/activemq/mcollective-client);

说明: 此镜像笔者已经上传的灵雀云上,详细文档可参考 本文笔者github 以及 灵雀云镜像 地址.

文件直接由笔者github的markdown直接复制如下:

######################################################

docker-foreman

Table of Contents

  1. 简介

  2. 功能说明

  3. 使用说明

  4. 参数说明

  5. 其它说明

简介

此镜像目前主要用于提供一个可以直接拿来使用的foreman/puppet

功能说明

  • 此镜像软件包安装部分,已经直接在基础镜像安装完成(基于library/ubuntu:14.04.3手工安装后commit)

  • 此镜像仅在基础镜像之上做部分配置修改,使其可以方便的被复用

  • 此镜像包含直接可用的foreman(目前作者主要用以管理puppet)

  • 此镜像包含直接可用的puppet server(由foreman-installer依赖安装)

  • 此镜像包含直接可用的mcollective client,已经配置foreman开启puppet run使用mcollecive

  • 此镜像包含直接可用的activemq,配置直接puppetlab的activemq的模板文档

  • 此镜像版本号1.9.2.1中的1.9.2为foreman官方版本,末位.1为笔者构建的docker镜像版本

使用说明

启动一个容器提供puppet server服务,要求如下:

  1. 证书名/主机名配置为: puppet.bw-y.com

  2. 配置Mcollective和ActiveMQ的密码为: StlJT1Qk6cO6D2Aq

  3. 配置Mcollective的psk密码为: lqtQ8Ci38HRSAXvY5fRVy7PZ

  4. 启动ActiveMQ/apache2/foreman-proxy提供服务

  5. 将容器内的puppet配置目录(/etc/puppet)映射到本地目录: /opt/docker/puppet_conf

  6. 将容器内的puppet证书目录(/var/lib/puppet/ssl)映射到本地目录: /opt/docker/puppet_ssl

  7. 将容器内的foreman数据库目录(/var/lib/postgresql/9.3/main)映射到本地目录:/opt/docker/foreman_db

  8. 将容器内的下列端口(80/443/8140/8443/61613)映射到宿主机的对应端口: 80/443/8140/8443/61613

根据上述要求,命令如下

docker run -itd --name=puppet --hostname=puppet.bw-y.com -e MCO_PASS=StlJT1Qk6cO6D2Aq -e PSK_PASS=lqtQ8Ci38HRSAXvY5fRVy7PZ -v /opt/docker/puppet_conf:/etc/puppet -v /opt/docker/puppet_ssl:/var/lib/puppet/ssl -v /opt/docker/foreman_db:/var/lib/postgresql/9.3/main -p 80:80 -p 443:443 -p 8140:8140 -p 8443:8443 -p 61613:61613 index.alauda.cn/hypersroot/foreman:1.9.2.1

参数说明

--hostname

[必选项] 由于puppet/foreman需要依赖一个可以解析的主机名用以配置证书相关,因此,在启动docker时,此参数务必加上,此参数会将配置的域名自动解析到容器对应的ip. 默认值: 空

MCO_HOST

[可选项] 用于在Mcollective的(/etc/mcollective/client.cfg)中设置MQ的地址. 当此地址不等于127.0.0.1或localhost时,容器不启动ActiveMQ. 默认值: 127.0.0.1

MCO_PORT

[可选项] 用于在Mcollective的(/etc/mcollective/client.cfg)中设置MQ的端口. 默认值: 61613

MCO_PASS

[可选项] 用于在Mcollective的客户配置(/etc/mcollective/client.cfg)和ActiveMQ的Server端配置(/etc/activemq/activemq.xml)所配置的密码. 默认值: mcopassword

PSK_PASS

[可选项] 用于在Mcollective的(/etc/mcollective/client.cfg)中设置plugin.psk的密码字段. 默认值: mcopskstr

其它说明

  • foreman页面的默认登陆信息: admin/bw-y.com

  • 首次启动时,由于主机名的关系,证书和相关配置需要重新生成,此时,容器虽已经启动,但相关服务并未配置完成; 主要时间开销在于首次启动容器时,根据参数重置配置的操作,笔者使用了脚本修改了部分配置后,重新执行foreman-installer导致,因此,首次完全启动成功,可能需要2分钟左右,具体的执行进度,可直接使用命令进入容器docker exec -it [container_name] bash后使用ps aux或top命令,查看foreman-installer在内存中是否已经执行完成即可. 再次使用时,由于puppet配置和foreman的数据库配置文件均已存在,则会非常迅速. 脚本见: entrypoint.sh

转载于:https://blog.51cto.com/mos1989/1699517

使用docker部署一个直接可用的puppet服务端相关推荐

  1. 3.10 docker---概念介绍,安装和初识docker,docker的一些基本命令,使用docker部署一个nginx,

    一.docker介绍 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后 ...

  2. java服务器向客户端发消息_java一个简单的客户端向服务端发送消息

    java一个简单的客户端向服务端发送消息 客户端代码: package com.chenghu.tcpip; import java.io.IOException; import java.io.Ou ...

  3. 一个简单的完成端口(服务端/客户端)类

    一个简单的完成端口(服务端/客户端)类 作者:spinoza 翻译:麦子芽儿, POWERCPP(后面部分内容) 下载源代码 原文网址:http://www.codeproject.com/KB/IP ...

  4. python批量下载文件只有1kb_详解如何用python实现一个简单下载器的服务端和客户端...

    话不多说,先看代码: 客户端: import socket def main(): #creat: download_client=socket.socket(socket.AF_INET,socke ...

  5. 如何使用 Docker 部署一个基于 Play Framework 的 Scala Web 应用?

    2019独角兽企业重金招聘Python工程师标准>>> 本文作者 Jacek Laskowski 拥有近20年的应用程序开发经验,现 CodiLime 的软件开发团队 Leader, ...

  6. Redis practise(二)使用Docker部署Redis高可用,分布式集群

    思路 鉴于之间学习过的Docker一些基础知识,这次准备部署一个简单的分布式,高可用的redis集群,如下的拓扑 tuopu.png 下面介绍下,对于这张拓扑图而言,需要了解的一些基础概念. Redi ...

  7. 如何使用 Docker 部署一个私有化的为知笔记

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 为知笔记: 私有部署 Docker 镜像,我们来了! 1. 为知笔记功能简介 您可以直接使用docker运行为知笔 ...

  8. puppet开源的软件自动化配置和部署工具——本质就是CS,服务端统一管理配置...

    1.  概述 puppet是一个开源的软件自动化配置和部署工具,它使用简单且功能强大,正得到了越来越多地关注,现在很多大型IT公司均在使用puppet对集群中的软件进行管理和部署,如google利用p ...

  9. un直连服务器教程,unRAID下使用Docker部署iCloud直连相片备份服务

    作者:高丽肠 鉴于有很多朋友不喜欢看一堆叨逼叨的文字 , 伸手党和时间管理大师们可以直接从 " 部署步骤 " 开始看 . 碎碎念 自从 2018 年左右上车买了一台星际蜗牛之后 , ...

最新文章

  1. word中使用MathType能做什么
  2. 【深度学习】这千层transformer让我目瞪口呆
  3. python search函数 中文_python使用正则表达式的search()函数实现指定位置搜索功能...
  4. oracle磁盘提取工具,实战:巧用磁盘管理工具给oracle提速
  5. 贝叶斯统计(Bayesian statistics) vs 频率统计(Frequentist statistics):marginal likelihood(边缘似然)
  6. CSS中给表格的第一列及最后一列设置不同的样式
  7. windowsxp中linq 指定的转换无效_.NET Core 3.0 中的新变化
  8. 拼音模糊搜索 php,精确搜索加拼音搜索加模糊搜索
  9. IP地址和物理地址的区别和联系
  10. linux下做笔记的软件下载,Write一款梦幻般的Linux手机笔记应用程序
  11. java计算机毕业设计ssm奥博羽毛球俱乐部管理系统
  12. kdj超卖_为什么在KDJ指标的超卖区间不能卖出股票
  13. 取消和卸载Office 2010默认安装的微软拼音输入法的方法
  14. React ,Redux 教程汇总
  15. 麦克风声源定位原理_使用麦克风阵列对声源定位的方法
  16. FQ队列throttled流管理
  17. Linux驱动基础开发
  18. 2012 Esri 中国开发者大会
  19. 基金交易常识之买与卖的专业名词?
  20. Qt:中文注释导致编译不通过

热门文章

  1. C++ 引用 Demo - Win32 版
  2. JAVA基础整理-100.Java 多线编程
  3. [视频]youku与56客户端DLL却持
  4. 简单搜索(多位自幂数)+数列网站
  5. JavaScript中split() 使用方法
  6. freemark 时间比较
  7. 高效5步走,高速搭建Hadoop2伪分布环境
  8. (笔记)Mysql命令grant on:增加新用户并控制其权限
  9. [No000053]我25岁了,是应该继续挣钱,还是选择自己的爱好?--正好庆祝自己25岁生日...
  10. WTL 出现的SetMsgHandled和IsMsgHandled 错误