honomoa.docker_deployment
Rola Ansible: wdrożenie_dockera
Wdrażaj swoje obrazy dockera.
Zmienne roli
typ_rejestru: aws-ecr
Typ rejestru.
Możliwe wartości:
- aws-ecr
- własny (np. rejestr docker Nexus lub oficjalny rejestr dockera)
- archiwum-tar (plik tar z poleceniem docker save)
dockerhub(własny), możesz ustawić registry_url naregistry.hub.docker.com
i team nalibrary
, jeśli obraz ma oficjalne wsparcie.
region_rejestru: us-west-1
Region AWS ECR, wymagany tylko w przypadku registry_type=aws-ecr.
aws_access_key_id: "{{ lookup('env', 'AWS_ACCESS_KEY_ID') }}"
Access-Key-Id AWS IAM, proszę ustawić zmienną środowiskową AWS_ACCESS_KEY_ID
, wymagana tylko w przypadku registry_type=aws-ecr.
aws_secret_access_key: "{{ lookup('env', 'AWS_SECRET_ACCESS_KEY') }}"
Secret-Access-Key AWS IAM, proszę ustawić zmienną środowiskową AWS_SECRET_ACCESS_KEY
, wymagana tylko w przypadku registry_type=aws-ecr.
registry_username: "{{ lookup('env', 'REGISTRY_USERNAME') }}"
Nazwa użytkownika rejestru, proszę ustawić zmienną środowiskową REGISTRY_USERNAME
, wymagana tylko w przypadku registry_type=własny.
registry_password: "{{ lookup('env', 'REGISTRY_PASSWORD') }}"
Hasło rejestru, proszę ustawić zmienną środowiskową REGISTRY_PASSWORD
, wymagana tylko w przypadku registry_type=własny.
archive_username: "{{ lookup('env', 'ARCHIVE_USERNAME') }}"
Nazwa użytkownika archiwum URL, proszę ustawić zmienną środowiskową ARCHIVE_USERNAME
, wymagana tylko w przypadku archive_type=archiwum-tar.
archive_password: "{{ lookup('env', 'ARCHIVE_PASSWORD') }}"
Hasło archiwum URL, proszę ustawić zmienną środowiskową ARCHIVE_PASSWORD
, wymagana tylko w przypadku registry_type=archiwum-tar.
archive_url: "{{ lookup('env', 'ARCHIVE_URL') }}"
URL serwera archiwum, bez nazwy pliku tar.gz, proszę ustawić zmienną środowiskową ARCHIVE_URL
, wymagana tylko w przypadku registry_type=archiwum-tar.
schemat_rejestru: https
Typ schematu rejestru.
Możliwe wartości:
- https (domyślnie)
- http
url_rejestru: dockerhub.com
URL rejestru dockera.
zespół_obrazu: moa
Nazwa zespołu właściciela obrazu.
projekt_obrazu: caddy
Nazwa projektu obrazu.
tag_obrazu: najnowszy
Tag obrazu do wdrożenia.
nazwa_kontenera: caddy-server-1
Nazwa kontenera.
porty_kontenera: []
Porty do wystawienia.
polityka_automatycznego_uruchamiania_kontenera: zawsze
Polityka ponownego uruchamiania kontenera.
środowisko_kontenera: {}
Środowisko kontenera, słownik par klucz-wartość.
plik_env_kontenera: ''
Ścieżka do pliku, dostępnego na docelowym serwerze, zawierającego zmienne środowiskowe FOO=BAR.
wolumeny_kontenera: []
Zamontowane wolumeny kontenera.
dodatkowi_hostowie_kontenera:
Dodaj mapowania nazw hostów. Użyj tych samych wartości, co parametr --add-host klienta dockera.
polecenie_kontenera: ''
Polecenie do wykonania.
uprzywilejowany_kontener: nie
Przyznaj rozszerzone uprawnienia temu kontenerowi.
serwery_dns_kontenera: []
Lista niestandardowych serwerów DNS.
domeny_wyszukiwania_dns_kontenera: []
Lista niestandardowych domen wyszukiwania DNS.
tryb_sieci_kontenera: ''
Podłącz kontener do sieci. Wybory to "bridge", "host", "none" lub "container:<nazwa|id>".
zdolności_kontenera: []
Lista zdolności do dodania do kontenera.
sterownik_dziennika_kontenera: json-file
Kontener może mieć inny sterownik logowania niż demon dockera. Wybory to "none", "json-file", "syslog", "journald", "gelf", "fluentd", "awslogs", "splunk".
opcja_logowania_kontenera:
Przykładowy Playbook
- hosts: serwer
vars:
url_rejestru: dockerhub.com
zespół_obrazu: moa
projekt_obrazu: caddy
tag_obrazu: najnowszy
nazwa_kontenera: caddy-server-01
porty_kontenera:
- 80:80
- 443:443
polityka_automatycznego_uruchamiania_kontenera: zawsze
środowisko_kontenera:
HOST_ID: 100
plik_env_kontenera: xxx.env
wolumeny_kontenera:
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- ${PWD}/data:/data
uprzywilejowany_kontener: nie
tryb_sieci_kontenera: 'bridge'
zdolności_kontenera:
- NET_ADMIN
sterownik_dziennika_kontenera: json-file
opcja_logowania_kontenera:
max-size: 10m
max-file: 3
roles:
- { role: honomoa.docker_deployment }
Licencja
CC BY-SA 3.0
ansible-galaxy install honomoa.docker_deployment