igor_nikiforov.docker
Ansibleロール: Docker
このロールは、Docker、Docker Compose、およびPython用のDocker SDKをインストールおよび構成します。
要件
このロールは以下のAnsibleバージョンで開発およびテストされました。
名前 | バージョン |
---|---|
ansible | >= 2.9.13 |
ansible-base | >= 2.10.1 |
ansible-core | >= 2.11.2 |
他のAnsibleバージョンも未テストですが、恐らく動作します。
インストール
以下のコマンドを使用して、ロールの最新の安定版をインストールします。
ansible-galaxy install igor_nikiforov.docker
また、requirementsファイルからもインストールできます。次のコマンドを使用します。
ansible-galaxy install -r requirements.yml
# requirements.yml
---
roles:
- name: igor_nikiforov.docker
version: v1.1.0
プラットフォーム
名前 | バージョン |
---|---|
Debian | buster |
Ubuntu | focal, groovy |
CentOS | 7.4+, 8 |
RedHat | 7.4+, 8 |
他のOSディストリビューションも未テストですが、恐らく動作します。動作しない場合は、PRをお願いします!
変数
名前 | 説明 | デフォルト |
---|---|---|
docker_supported_architectures | Dockerがサポートするアーキテクチャのリスト | ["x86_64", "arm64", "armhf", "s390x"] |
docker_install | Trueの場合、Dockerがインストールされる | true |
docker_version | Dockerのバージョン | latest |
docker_bash_completion_install | Trueの場合、Dockerのbash補完がインストールされる | true |
docker_daemon_config | Dockerデーモンの設定 | {} |
docker_service_enabled | Dockerサービスが起動時に開始されるべきか | true |
docker_service_state | Dockerサービスの状態 | started |
docker_users | Dockerグループに追加されるユーザーのリスト | [] |
docker_sdk_for_python_install | Trueの場合、Python用のDocker SDKがインストールされる | false |
docker_sdk_for_python_version | Python用Docker SDKのバージョン | latest |
docker_compose_install | Trueの場合、Docker Composeがインストールされる | false |
docker_compose_version | Docker Composeのバージョン | latest |
docker_compose_bash_completion_install | Trueの場合、Docker Composeのbash補完がインストールされる | true |
使用方法
このロールは、docker_daemon_config
変数を通じて渡されるすべてのDockerデーモン設定パラメータをサポートしています。JSON形式の設定例はDocker公式ドキュメントで見つけることができます。ロールで使用する場合は、設定をJSONからYAML形式に変換する必要があります。例えば、このオンラインツールを使用して変換できます。
事例
# playbook.yml
---
- hosts: all
become: True
gather_facts: False
pre_tasks:
- wait_for_connection: { timeout: 300 }
- setup:
vars:
docker_sdk_for_python_install: True
docker_compose_install: True
docker_daemon_config:
default-address-pools:
- { base: 172.16.0.0/16, size: 26 }
log-driver: "json-file"
log-opts:
max-size: "10m"
max-file: "3"
tasks:
- name: Dockerをインストール
import_role:
name: docker
ライセンス
MIT