wangsha.docker-generic-image
docker通用镜像
Ansible角色用于管理和运行任何给定镜像的docker容器。
要求
此角色仅在Ubuntu 14.04上进行过测试。由于使用了Ansible的docker模块,您需要确保已安装较新版本的docker-py
和docker
。
示例
从Ansible Galaxy安装此模块到'./roles'目录:
ansible-galaxy install wangsha.docker-generic-image -p ./roles
在剧本中使用它,如下所示,假设您已经设置了docker:
- hosts: 'servers'
roles:
- role: angstwad.docker_ubuntu
become: true
- role: wangsha.docker-generic-image
become: true
docker_container_name: hello-world
docker_container_image: hello-world
请查看defaults/main.yml,查看可以被重写的角色变量。
如果您需要设置Docker本身的剧本,请查看angstwad.docker_ubuntu Galaxy角色。
自定义卷映射
Docker允许将主机目录或文件挂载为数据卷。
此角色将主机目录挂载以持久保存容器数据,并将主机文件挂载以配置容器行为。
docker_generic-image_directory_volumes
和docker_generic-image_file_volumes
是控制卷映射的两个变量。
如果您希望自定义映射,请使用<主机目录>:<容器目录>:<映射模式>
格式,以确保在启动容器之前正确创建主机目录。
要自定义主机文件映射,请更新docker_generic-image_file_volumes
。
此角色将自动创建文件的父目录并将模板复制到主机机器上。模板的命名约定为<host_file_name>.<host_file_extension>.j2
。
要从您自己的ansible目录复制模板,请设置docker_generic-image_template_path
。
示例配置:
docker_container_file_volumes:
- '/opt/myapp/conf/settings.conf:/etc/myapp/conf/settings.conf:ro'
docker_container_template_path: /path/to/ansible/project/templates/
# 确保文件/path/to/ansible/project/templates/settings.conf.j2存在。
附加参考
许可证
作者信息
- wangsha