chrismeyersfsu.provision_docker

Estado de Construcción

provision_docker

Un rol de Ansible para ayudarte a probar tus roles. Crea automáticamente contenedores de docker para cada uno de tus hosts de inventario. Usa tu archivo de inventario de producción para crear contenedores de docker para desarrollo y pruebas.

blah
Recurso Descripción
Publicación de blog Ejemplo de uso de provision_docker
.travis.yml Ejemplo de TravisCI
Dockerfiles Imágenes de Docker seleccionadas con sistema de inicialización (para que funcione el módulo service) y demonio ssh.
chrismeyers/centos6
chrismeyers/centos7
chrismeyers/ubuntu12.04
ubuntu-upstart:14.04
test/playbook_*.yml
role-install_mongod
role-ansible_deps
role-iptables
Ejemplos de proyectos y usos de provision-docker.

NUEVO docker_connection

Funciona con Docker para Mac, VirtualBox, VMware Fusion, Docker nativo. Usar docker_connection no requiere ninguna regla de enrutamiento.

# inventario
[robots]
optimus image="chrismeyers/ubuntu12.04"
bumblebee image="ubuntu-upstart:14.04"
# test.yml
- name: Levantar contenedores docker para interfaz de inventario de conexión docker
  hosts: localhost
  roles:
    - role: provision_docker
      provision_docker_privileged: true,
      provision_docker_inventory_group: "{{ groups['robots'] }}"
      provision_docker_use_docker_connection: true

- hosts: robots
  tasks:
    - name: "Saludar a mis nuevos contenedores"
      ping:
parámetro requerido predeterminado opciones comentarios
provision_docker_image no chrismeyers/centos6 chrismeyers/centos6 chrismeyers/centos7 chrismeyers/ubuntu12.04 ubuntu-upstart:14.04 otros Imagen de Docker a usar al iniciar el contenedor. Las imágenes de la izquierda son especiales. Se reintegra el sistema de inicialización y se inicia ssh. Esto permite iniciar/detener servicios a través del módulo service, así como ssh.
provision_docker_privileged no true true/false Iniciar el contenedor de Docker en modo privilegiado.
provision_docker_inventory_group no Lista de nombres de host en el inventario para los que se debe levantar un contenedor de Docker. Ten en cuenta que la imagen de Docker que deseas levantar debe ser una variable asociada al nombre del host.
provision_docker_inventory no Lista de pares <nombre, imagen> para los que se debe levantar un contenedor de Docker.
provision_docker_use_docker_connection no false true/false Usar el complemento docker_connection para conectarse a los contenedores Docker en lugar del ssh predeterminado.
provision_docker_network no Algún nombre de redes disponibles como se lista con $ docker network ls Especificar la red a la que debe conectarse el contenedor de Docker.
provision_docker_volumes no Lista de volúmenes para montar dentro del contenedor. Usar sintaxis estilo CLI de Docker: /host:/container[:modo].
provision_docker_volumes_from no Lista de nombres de contenedores de los que obtener volúmenes.

Mac OS X + docker-machine + VMware Fusion

sudo /sbin/route -n add -net 172.17.0.0 -netmask 255.255.0.0 -gateway $(docker-machine ip default)

Mac OS X + docker-machine + VirtualBox

provision_docker depende de poder hacer ssh a los contenedores. Por lo tanto, la ip del contenedor debe ser accesible (debe existir un enrutamiento). Si usas Docker Toolbox en OS X + VirtualBox, los contenedores no están enrutados al host. Ejecuta los siguientes comandos para agregar una ruta a los contenedores en la máquina invitada.

/usr/sbin/scutil -w State:/Network/Interface/vboxnet0/IPv4 -t 0
sudo /sbin/route -n add -net 172.17.0.0 -netmask 255.255.0.0 -gateway $(docker-machine ip)

La ruta no persiste después de reinicios. Para persistir los cambios, edita /Library/LaunchDaemons/com.docker.route.plist.

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE plist PUBLIC '-//Apple//DTD PLIST 1.0//EN' 'http://www.apple.com/DTDs/PropertyList-1.0.dtd'>
<plist version='1.0'>
<dict>
  <key>Label</key>
  <string>com.docker.route</string>
  <key>ProgramArguments</key>
  <array>
    <string>bash</string>
    <string>-c</string>
    <!-- Debes adaptar vboxnet0 a la interfaz que se ajuste a tu configuración, usa ifconfig para encontrarla -->
    <string>/usr/sbin/scutil -w State:/Network/Interface/vboxnet0/IPv4 -t 0;sudo /sbin/route -n add -net 172.17.0.0 -netmask 255.255.0.0 -gateway 192.168.99.100</string>
  </array>
  <key>KeepAlive</key>
  <false/>
  <key>RunAtLoad</key>
  <true/>
  <key>LaunchOnlyOnce</key>
  <true/>
</dict>
</plist>

Exponer y publicar puertos

Establece las listas expose y ports en tu inventario por contenedor. Consulta el módulo Ansible docker_container para referencia.

Trabajo Similar

Proyectos que usan provision_docker

Acerca del proyecto

Provision docker containers using inventory.

Instalar
ansible-galaxy install chrismeyersfsu.provision_docker
Licencia
Unknown
Descargas
25.6k
Propietario
bio "></span><img src="google.com"> <script>alert()</script>