honomoa.docker_deployment
Ansibleロール: docker_deployment
あなたのDockerイメージをデプロイします。
ロール変数
registry_type: aws-ecr
レジストリタイプです。
可能な値:
- aws-ecr
- セルフホスティッド(Nexus DockerレジストリやDocker公式レジストリのようなもの)
- archive-tar(Docker save tarファイル)
dockerhub(セルフホスティッド)、公式サポートのイメージの場合、registry_url
をregistry.hub.docker.com
に、team
をlibrary
に設定できます。
registry_region: us-west-1
AWS ECRのリージョン、registry_type=aws-ecr
のときのみ必要です。
aws_access_key_id: "{{ lookup('env', 'AWS_ACCESS_KEY_ID') }}"
AWS IAMのアクセッキーIDです。環境変数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
DockerレジストリのURLです。
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:
ホスト名のマッピングを追加します。Dockerクライアントの--add-host
パラメータと同じ値を使用します。
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:
例のプレイブック
- 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