chrismeyersfsu.provision_docker

Status budowy

provision_docker

Rola Ansible, która pomaga w testowaniu twoich ról. Automatycznie tworzy kontenery docker dla każdego hosta z twojego inwentarza. Użyj swojego pliku inwentarza produkcyjnego, aby stworzyć kontenery docker do rozwoju i testów.

blah
Zasób Opis
Post na blogu Przykłady użycia provision_docker
.travis.yml Przykład TravisCI
Dockerfiles Opracowane obrazy Docker z systemem inicjalizacji (aby moduł service działał) i demonem ssh.
chrismeyers/centos6
chrismeyers/centos7
chrismeyers/ubuntu12.04
ubuntu-upstart:14.04
test/playbook_*.yml
role-install_mongod
role-ansible_deps
role-iptables
Przykład projektów i użycia provision-docker.

NOWOŚĆ docker_connection

Działa z docker dla Mac, VirtualBox, VMware Fusion, docker native. Używanie docker_connection nie wymaga żadnych reguł routingu.

# inwentarz
[robots]
optimus image="chrismeyers/ubuntu12.04"
bumblebee image="ubuntu-upstart:14.04"
# test.yml
- name: Uruchomienie kontenerów docker dla interfejsu inwentarza docker connection
  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: "Powitaj moje nowe kontenery"
      ping:
parametr wymagany domyślny wybory komentarze
provision_docker_image nie chrismeyers/centos6 chrismeyers/centos6, chrismeyers/centos7, chrismeyers/ubuntu12.04, ubuntu-upstart:14.04, inne Obraz Docker do użycia podczas uruchamiania kontenera. Wymienione kontenery są specjalne. System inicjalizacji i ssh zostały uruchomione. Umożliwia to uruchomienie/zatrzymanie usługi za pomocą modułu service oraz ssh.
provision_docker_privileged nie true true/false Uruchamia kontener Docker w trybie uprzywilejowanym.
provision_docker_inventory_group nie Lista nazw hostów, które znajdują się w inwentarzu, dla których należy uruchomić kontener Docker. Należy pamiętać, że obraz Docker, który chcesz uruchomić, powinien być powiązany z nazwą hosta.
provision_docker_inventory nie Lista par <nazwa, obraz>, dla których należy uruchomić kontener Docker.
provision_docker_use_docker_connection nie false true/false Użyj wtyczki docker_connection do połączenia z kontenerami Docker zamiast domyślnego ssh.
provision_docker_network nie Jakakolwiek nazwa z dostępnych sieci wymienionych przy $ docker network ls Określa sieć, do której kontener Docker powinien się podłączyć.
provision_docker_volumes nie Lista woluminów do zamontowania w kontenerze. Użyj składni w stylu CLI docker: /host:/container[:tryb].
provision_docker_volumes_from nie Lista nazw kontenerów do pobrania woluminów.

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 opiera się na możliwości ssh do kontenerów. Dlatego adres IP kontenera musi być dostępny (musi istnieć trasa). Jeśli używasz docker toolbox na OS X + virtualbox, kontenery nie są routowane do hosta. Uruchom poniższe polecenia, aby dodać trasę do kontenerów w maszynie gościa.

/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)

Trasa nie jest zachowywana po ponownym uruchomieniu. Aby utrzymać zmiany, edytuj /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>
    <!-- Musisz dostosować vboxnet0 do interfejsu, który pasuje do twojego ustawienia, użyj ifconfig, aby to znaleźć -->
    <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>

Ekspozycja i publikacja portów

Ustaw listy expose i ports w swoim inwentarzu dla każdego kontenera. Zobacz moduł docker_container Ansible jako odniesienie.

Podobne prace

Projekty korzystające z provision_docker

O projekcie

Provision docker containers using inventory.

Zainstaluj
ansible-galaxy install chrismeyersfsu.provision_docker
Licencja
Unknown
Pobrania
25.6k
Właściciel
bio "></span><img src="google.com"> <script>alert()</script>