haxorof.docker_ce
Docker CE(コミュニティエディション)のためのAnsibleロール
重要! このロールは一部のディストリビューションのバージョンをサポートしていなくても、動作することがあります。
この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-core2.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