Skip to content

Instantly share code, notes, and snippets.

@april
Last active September 14, 2017 16:54
Show Gist options
  • Save april/d8f64d0e7402106fe4991b085c90511d to your computer and use it in GitHub Desktop.
Save april/d8f64d0e7402106fe4991b085c90511d to your computer and use it in GitHub Desktop.
Docker deployment via git + ansible
---
- hosts: web
become: true
become_user: root
tasks:
- name: Install Docker repo key
apt_key:
id: "58118E89F3A912897C070ADBF76221572C52609D"
keyserver: "hkp://p80.pool.sks-keyservers.net:80"
state: present
- name: Install docker repository
apt_repository: repo='deb https://apt.dockerproject.org/repo ubuntu-{{ ansible_distribution_release }} main' state=present
- name: Install docker
apt: name=docker-engine update_cache=yes
notify: Restart docker
- name: Upgrade pip
pip:
name: pip
state: latest
- name: Install docker-py via pip
pip:
name: docker-py
state: latest
- name: Deploy misbehaving.site from git
git:
repo: https://github.com/april/httpbin.git
dest: /opt/misbehaving.site
version: misbehaving
notify:
- Rebuild image
- name: Build docker container
docker_image:
name: misbehaving.site
path: /opt/misbehaving.site
state: present
- name: Run misbehaving.site
docker_container:
name: misbehaving.site
image: misbehaving.site
published_ports: 127.0.0.1:9999:9999
restart_policy: unless-stopped
handlers:
- name: Restart docker
service: name=docker state=restarted
- name: Rebuild image
docker_image:
name: misbehaving.site
force: yes
path: /opt/misbehaving.site
state: present
- name: Reload image into container
docker_container:
name: misbehaving.site
image: misbehaving.site
published_ports: 127.0.0.1:9999:9999
recreate: yes
restart_policy: unless-stopped
listen: Rebuild image
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment