wangsha.docker-generic-image
docker-generic-image
Ansible-Rolle zum Verwalten und Ausführen eines Docker-Containers aus einem beliebigen Bild.
Anforderungen
Diese Rolle wurde nur auf Ubuntu 14.04 getestet. Da sie das Docker-Modul von Ansible verwendet, müssen Sie sicherstellen, dass eine aktuelle Version von docker-py
und docker
installiert ist.
Beispiele
Installieren Sie dieses Modul aus Ansible Galaxy in das Verzeichnis './roles':
ansible-galaxy install wangsha.docker-generic-image -p ./roles
Verwenden Sie es in einem Playbook wie folgt, vorausgesetzt, Sie haben Docker bereits eingerichtet:
- hosts: 'server'
roles:
- role: angstwad.docker_ubuntu
become: true
- role: wangsha.docker-generic-image
become: true
docker_container_name: hello-world
docker_container_image: hello-world
Schauen Sie sich die defaults/main.yml für Rollenvariablen an, die überschrieben werden können.
Wenn Sie ein Playbook benötigen, um Docker selbst einzurichten, schauen Sie sich die angstwad.docker_ubuntu Galaxy-Rolle an.
Benutzerdefinierte Volumen-Zuordnungen
Docker erlaubt es, ein Verzeichnis oder eine Datei des Hosts als Datenvolumen zu mounten.
Diese Rolle mountet Host-Verzeichnisse, um die Containerdaten zu persistieren, und Host-Dateien, um das Verhalten des Containers zu konfigurieren.
docker_generic-image_directory_volumes
und docker_generic-image_file_volumes
sind die beiden Variablen zur Steuerung der Volumen-Zuordnungen.
Wenn Sie die Zuordnung anpassen möchten, folgen Sie dem Format <host directory>:<container directory>:<mapping mode>
,
um sicherzustellen, dass die Host-Verzeichnisse vor dem Starten der Container korrekt erstellt werden.
Um die Zuordnungen der Host-Dateien anzupassen, aktualisieren Sie docker_generic-image_file_volumes
.
Diese Rolle erstellt automatisch die übergeordneten Verzeichnisse für Dateien und kopiert die Vorlage auf die Host-Maschine.
Die Benennungskonvention für Vorlagen ist <host_file_name>.<host_file_extension>.j2
.
Um die Vorlage aus Ihren eigenen Ansible-Verzeichnissen zu kopieren, setzen Sie docker_generic-image_template_path
.
Beispielkonfiguration:
docker_container_file_volumes:
- '/opt/myapp/conf/settings.conf:/etc/myapp/conf/settings.conf:ro'
docker_container_template_path: /path/to/ansible/project/templates/
# Stellen Sie sicher, dass die Datei /path/to/ansible/project/templates/settings.conf.j2 existiert.
Weitere Referenzen
Lizenz
Autoreninformation
- wangsha