haxorof.docker_ce

Docker CE(コミュニティエディション)のためのAnsibleロール

重要! このロールは一部のディストリビューションのバージョンをサポートしていなくても、動作することがあります。

GitHubタグ Ansibleロール ライセンス: MIT ビルドステータス

このAnsibleロールは、複数の異なるLinuxディストリビューションにDocker CE(コミュニティエディション)をインストールおよび設定します。このロールの目的は、ユーザーがDockerのインストールと設定のみを気にし、異なるディストリビューションの違いを隠すことです。

ansible-galaxy role install haxorof.docker_ce

特徴

  • サポートされているLinuxディストリビューションでDocker CEをインストールして構成するための一つの方法。
  • Docker SDKおよびDocker Composeのインストールをサポート。
  • Dockerプラグインのインストールのベストエフォートサポート。
  • Docker CEおよび関連する設定のベストエフォートアンインストール。
  • 一部のサポートされているディストリビューションで、バグのある設定や動作しない設定を回避するための調整を行います。
  • Center of Internet Security(CIS)文書に従ってDockerの設定を容易に行う。

サポートされているディストリビューション

注! 以下にリストされているディストリビューションの一部のバージョンにはPython 2.7がのみインストールされており、これらはAnsibleのバージョンが10.0.0未満(またはansible-coreのバージョンが2.17未満)の場合にのみ互換性があります。これは、Ansible 10.0.0(ansible-core 2.17)でPython 2.7のサポートが終了したためです。

  • AlmaLinux1
  • Amazon Linux1
  • CentOS1
  • CentOS Stream
  • Debian
  • Fedora
  • Linux Mint1(Ubuntuベース)
  • Raspbian(Debianベース)
  • RHEL
  • Rocky Linux1
  • Ubuntu

1 注: DockerはこのディストリビューションでのDocker CEを公式に完全または部分的にサポートしておらず、一部の機能が動作しない可能性があります。

リストにないディストリビューションでも、docker_do_checks変数をnoに設定することで、このロールが動作することがあります。

変更履歴

変更履歴はこちらをご覧ください。

Ansibleの互換性

  • ansible 9.0.0以降(ansible-core 2.16以降)

このロールが複数のAnsibleバージョンをサポートするためには、すべてのAnsible非推奨警告を回避することはできません。非推奨警告を無効にしたい場合は、Ansibleのドキュメントを読んでください。非推奨警告の設定ができます。

このロールは最新の主要リリースと前の主要リリースのAnsibleバージョンをサポートしようとしています。サポートされているAnsibleバージョンについてはこちらをご覧ください。

Ansibleコレクションの要件

ansible-coreのみがインストールされている場合、ロールが機能するためにはこれらのコレクションもインストールする必要があります:

  • ansible.posix
  • community.general

要件

追加の要件はありません。

ロール変数

このロールに関連する変数はこちらにリストされています。

依存関係

なし。

例示的なプレイブック

以下のサブセクションでは、このロールがサポートしているさまざまな例を示します。

最も簡単な例

- hosts: docker
  roles:
    - role: haxorof.docker_ce

Dockerデーモンにプロキシを使用するよう設定

- hosts: docker
  vars:
    docker_daemon_envs:
      HTTP_PROXY: http://localhost:3128/
      NO_PROXY: localhost,127.0.0.1,docker-registry.somecorporation.com
  roles:
    - haxorof.docker_ce

インストール後にAnsibleがDockerモジュールを使用できることを確認する

- hosts: test-host
  vars:
    docker_sdk: true
    docker_compose: true
  roles:
    - haxorof.docker_ce
  post_tasks:
    - name: Helloコンテナのテスト
      become: yes
      docker_container:
        name: hello
        image: hello-world

    - name: Helloサービスのテスト
      become: yes
      docker_service:
        project_name: hello
        definition:
          version: '3'
          services:
            hello:
              image: "hello-world"

CISセキュリティ準拠のDockerエンジンのインストールに向けて

以下の最小限の例は、Docker benchチェックに合格するために必要なロール設定の種類を示しています:

- hosts: docker
  vars:
    docker_plugins:
      - type: authz
        alias: opa-docker-authz
        name: openpolicyagent/opa-docker-authz-v2:0.9
        args: opa-args="-policy-file /opa/policies/authz.rego"
    docker_enable_audit: yes
    docker_daemon_config:
      icc: false
      log-driver: journald
      userns-remap: default
      live-restore: true
      userland-proxy: false
      no-new-privileges: true
  roles:
    - haxorof.docker_ce

上記の設定はLinuxユーザーネームスペースの有効化を必要とするため、追加のGRUB引数が必要になる場合があります。以下の例では、必要な変更とホストの再起動が必要になる場合があることを示しています。

# https://success.docker.com/article/user-namespace-runtime-error

- hosts: docker
  roles:
    - role: jtyr.grub_cmdline
      vars:
        grub_cmdline_add_args:
          - namespace.unpriv_enable=1
          - user_namespace.enable=1
      become: yes
  tasks:
    - name: set user.max_user_namespaces
      sysctl:
        name: user.max_user_namespaces
        value: 15000
        sysctl_set: yes
        state: present
        reload: yes
      become: yes

CentOS 7でのより完全な動作例についてはこちらをご覧ください。

自動テストマトリックス

以下は、testsディレクトリにある自動テストの最新の結果です:

注意! テストマトリックスにリストされているすべてのディストリビューションは、最新のDocker CEバージョンを提供しているわけではありません。

テストスイート

スイート ID コメント
s-1 t_config
s-2 t_postinstall
s-3 t_auditd

テストマトリックス

シンボル 定義
:heavy_check_mark: すべてのテストが合格
:x: 1つ以上のテストが失敗 / サポートされていない
:heavy_minus_sign: テストが行われていない / まだテストされていない
# s-1 s-2 s-3 更新日
AlmaLinux 8 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: 2024-08-02
AlmaLinux 9 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: 2024-08-02
Amazon Linux 2 :heavy_check_mark: :x: :heavy_check_mark: 2024-08-02
Amazon Linux 2023 :heavy_check_mark: :x: :heavy_check_mark: 2024-08-02
CentOS Stream 9 :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: 2024-08-02
Debian 11 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: 2024-08-02
Debian 12 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: 2024-08-02
Fedora 39 :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: 2024-08-02
Fedora 40 :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: 2024-08-02
Rocky Linux 8 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: 2024-08-02
Rocky Linux 9 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: 2024-08-02
Ubuntu 20.04 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: 2024-08-02
Ubuntu 22.04 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: 2024-08-02
Ubuntu 24.04 :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: 2024-08-02
RHEL 8 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: 2024-08-12
RHEL 9 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: 2024-08-12

ライセンス

これはオープンソースプロジェクトで、MITライセンスのもとで提供されています。

プロジェクトについて

Installs and configures Docker Community Edition (CE) on AlmaLinux/Rocky/CentOS/Fedora/RHEL/Ubuntu/Debian/Mint/Raspbian

インストール
ansible-galaxy install haxorof.docker_ce
ライセンス
mit
ダウンロード
285.2k
所有者