前言
ansible作为一个高效的自动化运维管理工具,在管理服务器和网络设备上有着明显的优势,但是ansible需要在主控端安装相关应用,而ansible在安装的过程中可能会存在一些版本上以及依赖上的问题导致安装失败,尤其在安装指定版本ansible时,这时候如果可以将ansible安装在docker容器中并打包成镜像,便可被多个不同的操作系统环境中使用。
部署过程
- 安装docker
参考我的另外一篇博客《docker学习之——离线下安装部署docker服务器》
- 以centos7为基础镜像启动docker容器,在容器中安装指定版本ansible
参考我的另外一篇博客《CentOS安装指定版本应用(ansible)》即可
-
安装ansible后,打开一个新的连接,直接导出docker容器到静态文件
-
导入静态文件到镜像
查看镜像
-
编写镜像启动文件(
create_container.sh
、exec_container.sh
、stop_and_rm.sh
)
create_container.sh
cur_path=`pwd`
docker run -itd --net=host --rm \
-v $cur_path/ansible:/opt/ansible \
-v $cur_path/ansible.cfg:/etc/ansible/ansible.cfg \
-v $cur_path/code:/opt/code \
josen/ansible:2.8.1 \
bash > container_id
exec_container.sh
container_id=`more ./container_id`
docker exec -it $container_id bash
stop_and_rm.sh
container_id=`more ./container_id`
docker stop $container_id && \
echo "" > ./container_id
效果展示
创建并启动镜像
删除镜像