diff --git a/cloud/docker b/cloud/docker index 8234daca476..fb453b70a66 100644 --- a/cloud/docker +++ b/cloud/docker @@ -183,6 +183,13 @@ options: default: false aliases: [] version_added: "1.6" + net: + description: + - Set Network mode for the container (bridge, none, container:, host). Requires docker >= 0.11. + required: false + default: false + aliases: [] + version_added: "1.8" author: Cove Schneider, Joshua Conner, Pavel Antonov requirements: [ "docker-py >= 0.3.0", "docker >= 0.10.0" ] ''' @@ -293,6 +300,14 @@ Create containers with options specified as strings and lists as comma-separated sudo: yes tasks: docker: image=namespace/image_name links=postgresql:db,redis:redis + +Create a container with no networking: + +- hosts: web + sudo: yes + tasks: + docker: image=namespace/image_name net=none + ''' HAS_DOCKER_PY = True @@ -597,6 +612,7 @@ class DockerManager: 'publish_all_ports': self.module.params.get('publish_all_ports'), 'privileged': self.module.params.get('privileged'), 'links': self.links, + 'network_mode': self.module.params.get('net'), } if docker.utils.compare_version('1.10', self.client.version()['ApiVersion']) >= 0 and hasattr(docker, '__version__') and docker.__version__ > '0.3.0': params['dns'] = self.module.params.get('dns') @@ -682,7 +698,8 @@ def main(): stdin_open = dict(default=False, type='bool'), tty = dict(default=False, type='bool'), lxc_conf = dict(default=None, type='list'), - name = dict(default=None) + name = dict(default=None), + net = dict(default=None) ) )