Docker自动化守护进程
autodock的Python项目详细描述
autodock是Docker自动化的守护进程。
AutoDock是麻省理工学院授权的。
安装
拉入自动更新的Docker图像:
$ docker pull prologic/autodock
或者从开发库安装:
$ git clone https://github.com/prologic/autodock.git $ cd autodock $ pip install -r requirements.txt
插件
AutoDock提供了许多插件,其中每个功能都是 由单独的插件提供。每个插件都“链接”到autodock以接收 Docker事件并发出新的Docker API命令。以下是一个列表 当前可用于生产的插件的数量:
- autodock-cron–为容器提供类似cron的调度程序
- autodock-logger–记录Dockers事件
- autodock-hipache–自动向hipache注册虚拟主机
示例1–记录Docker事件
启动守护程序:
$ docker run -d -v /var/run/docker.sock:/var/run/docker.sock --name autodock:autodock prologic/autodock
链接并启动AutoDock插件:
$ docker run -i -t --link autodock prologic/autodock-logger
现在每当你启动一个新的容器时,autodock就会监听docker事件。 autodock-logger插件将记录AutoDock接收到的所有Docker事件。
示例2–使用Hipache的自动虚拟主机
启动守护程序:
$ docker run -d --name autodock prologic/autodock
链接并启动AutoDock插件:
$ docker run -d --link autodock prologic/autodock-hipache
现在每当你启动一个新的容器,autodock就会监听docker事件 并发现已启动的容器。autodock-hipache插件 将专门侦听具有^{tt3}的启动容器$ 环境变量并重新配置正在运行的hipache容器。
启动“Hello World”Web应用程序:
$ docker run -d -e VIRTUALHOST=hello.local prologic/hello
假设在^{tt6}中配置了hello.local。$ 指向您的hipache容器,您现在可以访问http://hello.local/
echo "127.0.0.1 hello.local" >> /etc/hosts curl -q -o - http://hello.local/ Hello World!
注意
这种托管和管理webapps和网站的方法是在产品部署中使用的,并在postA Docker-based mini-PaaS中进行了更详细的讨论。
示例3–类似cron的容器调度
启动守护程序:
$ docker run -d --name autodock prologic/autodock
链接并启动AutoDock插件:
$ docker run -d --link autodock prologic/autodock-cron
现在每当你创建一个新的容器时,autodock就会监听docker事件 并发现已创建的容器。autodock-cron插件 将专门侦听具有^{tt9}的已创建容器$ 环境变量并基于提供的cron表达式调度作业 并在其计划已触发时重新运行该容器。
启动“hello”总线箱容器:
$ docker run -i -t --name hello busybox sh -c "echo Hello"
大约三分钟后,您将在日志中看到以下内容:
$ docker logs hello Hello Hello Hello