mirror of
https://github.com/ansible-collections/community.docker.git
synced 2026-07-29 11:55:04 +00:00
Initial commit
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
---
|
||||
- hosts: 127.0.0.1
|
||||
connection: local
|
||||
tasks:
|
||||
- name: Setup docker
|
||||
include_role:
|
||||
name: setup_docker
|
||||
|
||||
# There seems to be no better way to install docker-machine. At least I couldn't find any packages for RHEL7/8.
|
||||
- name: Download docker-machine binary
|
||||
vars:
|
||||
docker_machine_version: "0.16.1"
|
||||
get_url:
|
||||
url: "https://github.com/docker/machine/releases/download/v{{ docker_machine_version }}/docker-machine-{{ ansible_system }}-{{ ansible_userspace_architecture }}"
|
||||
dest: /tmp/docker-machine
|
||||
- name: Install docker-machine binary
|
||||
command: install /tmp/docker-machine /usr/bin/docker-machine
|
||||
become: yes
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
- hosts: 127.0.0.1
|
||||
connection: local
|
||||
tasks:
|
||||
- name: Request Docker Machine to use this machine as a generic VM
|
||||
command: "docker-machine --debug create \
|
||||
--driver generic \
|
||||
--generic-ip-address=localhost \
|
||||
--generic-ssh-key {{ lookup('env', 'HOME') }}/.ssh/id_rsa \
|
||||
--generic-ssh-user root \
|
||||
vm"
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
- hosts: 127.0.0.1
|
||||
connection: local
|
||||
tasks:
|
||||
- name: Request Docker Machine to remove this machine as a generic VM
|
||||
command: "docker-machine rm vm -f"
|
||||
@@ -0,0 +1,50 @@
|
||||
- hosts: 127.0.0.1
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- name: sanity check Docker Machine output
|
||||
vars:
|
||||
dm_ls_format: !unsafe '{{.Name}} | {{.DriverName}} | {{.State}} | {{.URL}} | {{.Error}}'
|
||||
success_regex: "^vm | [^|]+ | Running | tcp://.+ |$"
|
||||
command: docker-machine ls --format '{{ dm_ls_format }}'
|
||||
register: result
|
||||
failed_when: result.rc != 0 or result.stdout is not match(success_regex)
|
||||
|
||||
- name: verify Docker Machine ip
|
||||
command: docker-machine ip vm
|
||||
register: result
|
||||
failed_when: result.rc != 0 or result.stdout != hostvars['vm'].ansible_host
|
||||
|
||||
- name: verify Docker Machine env
|
||||
command: docker-machine env --shell=sh vm
|
||||
register: result
|
||||
|
||||
- debug: var=result.stdout
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "'DOCKER_TLS_VERIFY=\"{{ hostvars['vm'].dm_DOCKER_TLS_VERIFY }}\"' in result.stdout"
|
||||
- "'DOCKER_HOST=\"{{ hostvars['vm'].dm_DOCKER_HOST }}\"' in result.stdout"
|
||||
- "'DOCKER_CERT_PATH=\"{{ hostvars['vm'].dm_DOCKER_CERT_PATH }}\"' in result.stdout"
|
||||
- "'DOCKER_MACHINE_NAME=\"{{ hostvars['vm'].dm_DOCKER_MACHINE_NAME }}\"' in result.stdout"
|
||||
|
||||
- hosts: vm
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- name: do something to verify that accept-new ssh setting was applied by the docker-machine inventory plugin
|
||||
raw: uname -a
|
||||
register: result
|
||||
|
||||
- debug: var=result.stdout
|
||||
|
||||
- hosts: 127.0.0.1
|
||||
gather_facts: no
|
||||
environment:
|
||||
DOCKER_CERT_PATH: "{{ hostvars['vm'].dm_DOCKER_CERT_PATH }}"
|
||||
DOCKER_HOST: "{{ hostvars['vm'].dm_DOCKER_HOST }}"
|
||||
DOCKER_MACHINE_NAME: "{{ hostvars['vm'].dm_DOCKER_MACHINE_NAME }}"
|
||||
DOCKER_TLS_VERIFY: "{{ hostvars['vm'].dm_DOCKER_TLS_VERIFY }}"
|
||||
tasks:
|
||||
- name: run a Docker container on the target Docker Machine host to verify that Docker daemon connection settings from the docker-machine inventory plugin work as expected
|
||||
docker_container:
|
||||
name: test
|
||||
image: hello-world:latest
|
||||
Reference in New Issue
Block a user