docker_deployment
Ansible Роль: docker_deployment
Разверните ваши образы Docker.
Переменные роли
registry_type: aws-ecr
Тип реестра.
Возможные значения:
- aws-ecr
- собственный (например, Nexus Docker Registry или официальный реестр Docker)
- archive-tar (файл tar с помощью docker save)
dockerhub(собственный), вы можете установитьregistry_url
наregistry.hub.docker.com
и команду наlibrary
, если образ официально поддерживается.
registry_region: us-west-1
Регион AWS ECR, требуется только для registry_type=aws-ecr
.
aws_access_key_id: "{{ lookup('env', 'AWS_ACCESS_KEY_ID') }}"
Идентификатор ключа доступа AWS IAM, обязательно установите переменную окружения AWS_ACCESS_KEY_ID
, требуется только для registry_type=aws-ecr
.
aws_secret_access_key: "{{ lookup('env', 'AWS_SECRET_ACCESS_KEY') }}"
Секретный ключ доступа AWS IAM, обязательно установите переменную окружения AWS_SECRET_ACCESS_KEY
, требуется только для registry_type=aws-ecr
.
registry_username: "{{ lookup('env', 'REGISTRY_USERNAME') }}"
Имя пользователя реестра, обязательно установите переменную окружения REGISTRY_USERNAME
, требуется только для registry_type=self-hosted
.
registry_password: "{{ lookup('env', 'REGISTRY_PASSWORD') }}"
Пароль реестра, обязательно установите переменную окружения REGISTRY_PASSWORD
, требуется только для registry_type=self-hosted
.
archive_username: "{{ lookup('env', 'ARCHIVE_USERNAME') }}"
Имя пользователя для URL архива, обязательно установите переменную окружения ARCHIVE_USERNAME
, требуется только для archive_type=archive-tar
.
archive_password: "{{ lookup('env', 'ARCHIVE_PASSWORD') }}"
Пароль для URL архива, обязательно установите переменную окружения ARCHIVE_PASSWORD
, требуется только для registry_type=archive-tar
.
archive_url: "{{ lookup('env', 'ARCHIVE_URL') }}"
URL сервера архива, без имени файла tar.gz, обязательно установите переменную окружения ARCHIVE_URL
, требуется только для registry_type=archive-tar
.
registry_scheme: https
Тип схемы реестра.
Возможные значения:
- https (по умолчанию)
- http
registry_url: dockerhub.com
URL реестра Docker.
image_team: moa
Имя команды, владеющей образом.
image_project: caddy
Имя проекта образа.
image_tag: latest
Тег образа для развертывания.
container_name: caddy-server-1
Имя контейнера.
container_ports: []
Порт для открытия.
container_restart_policy: always
Политика перезапуска контейнера.
container_environment: {}
Окружение контейнера, словарь пар "ключ, значение".
container_env_file: ''
Путь к файлу, находящемуся на целевом сервере, содержащему переменные окружения FOO=BAR.
container_volumes: []
Подключенные тома контейнера.
container_extra_hosts:
Добавить привязки имен хостов. Используйте те же значения, что и параметр --add-host
клиента Docker.
container_command: ''
Команда для выполнения.
Смотрите: Документация
container_privileged: no
Предоставить расширенные привилегии для этого контейнера.
container_dns_servers: []
Список пользовательских DNS серверов.
container_dns_search_domains: []
Список пользовательских доменов поиска DNS.
container_network_mode: ''
Подключить контейнер к сети. Выбор: "bridge", "host", "none" или "container:<name|id>".
container_capabilities: []
Список возможностей, которые нужно добавить к контейнеру.
container_log_driver: json-file
Контейнер может иметь другой драйвер журналирования, чем демон Docker. Выбор: "none", "json-file", "syslog", "journald", "gelf", "fluentd", "awslogs", "splunk".
container_log_options:
Пример Playbook
- hosts: server
vars:
registry_url: dockerhub.com
image_team: moa
image_project: caddy
image_tag: latest
container_name: caddy-server-01
container_ports:
- 80:80
- 443:443
container_restart_policy: always
container_environment:
HOST_ID: 100
container_env_file: xxx.env
container_volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- ${PWD}/data:/data
container_privileged: no
container_network_mode: 'bridge'
container_capabilities:
- NET_ADMIN
container_log_driver: json-file
container_log_options:
max-size: 10m
max-file: 3
roles:
- { role: honumoa.docker_deployment }
Лицензия
CC BY-SA 3.0
ansible-galaxy install honomoa/ansible-role-docker_deployment