# Docker Operation with Perl **Repository Path**: zoufuxing/Docker-Operation-with-Perl ## Basic Information - **Project Name**: Docker Operation with Perl - **Description**: 使用Perl调用docker remote api对docker进行操作的命令行工具 - **Primary Language**: Perl - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2016-07-18 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Docker Operation with Perl 本工具是使用了Docker Remote API对Docker进行操作的,不同版本有可能会API会不一致,导致本工具不能适用于所有的docker版本,此工具使用的是1.22的API版本,对应的Docker Server版本是:1.10.3 ## Docker Server必要配置 由于是使用Remote API,默认Docker是没有监听端口的,所以需要修改启动选项,以centos为例,在/etc/sysconfig/docker文件里,添加如下内容: `-H unix:///var/run/docker.sock -H 0.0.0.0:4242` 端口根据实际需要修改 ## 数据库 因为容器部分信息需要存放到数据库里,所以,需要准备一个数据库实例(MySQL),将sql目录的sql导入。 ## 使用说明 * 如果需要使用环境变量执行,则需要把lib的pm放入@INC中,否则,只能在目录中执行 ### 创建容器 `docker.pl --create name=<容器名字> hostname=<操作系统的hostname> group=<容器组> count=<数量>` 如果只需开一个容器,count可以省略;hostname也不是必须的,但name和group是必须提供 ### 罗列所有分组 `docker.pl --grouplist` ### 罗列容器 `docker.pl --list status=<状态值> group=<容器组>` status有三个状态值: - 0 默认值,只显示激活状态的容器 - 1 显示所有的容器,包括未激活状态的 - 2 显示未激活的容器 group表示只显示指定的group组的容器 ### 启动/关闭/重启容器 `docker.pl --(start|stop|restart) [容器name或者ID]` ### 删除容器 `docker.pl --delete name=<容器name或者ID>`