ansibleguy.infra_docker_minimal

Ansibleロール - Dockerセットアップ

Ansibleロールを使用して、Linuxサーバーに基本的なDockerインストールを展開します。

コーヒーを買う

Molecule Test Status YamlLint Test Status PyLint Test Status Ansible-Lint Test Status Ansible Galaxy

テスト済み:

  • Debian 11
  • Debian 12

インストール

# 最新版
ansible-galaxy role install git+https://github.com/ansibleguy/infra_docker_minimal

# galaxyから
ansible-galaxy install ansibleguy.infra_docker_minimal

# またはカスタムロールパスにインストール
ansible-galaxy install ansibleguy.infra_docker_minimal --roles-path ./roles

使用方法

シンプルなAnsible GUIが欲しいですか?私のAnsible WebUIをチェックしてください。

設定

'docker'変数/辞書を使ってDockerを設定できます。

docker:
  tcp:
    enable: true  # TCPでのdockerサービスリスニングを有効にする
    bind: '0.0.0.0'

  compose:
    enable: true  # docker-composeをインストール
    plugin: true  # デフォルト; docker-compose-pluginをインストール('docker compose'を使用)

  tls:
    enable: true
    cert: '/etc/ssl/certs/docker.crt'
    key: '/etc/ssl/private/docker.pem'
    # ca: '/etc/ssl/certs/docker.ca.crt'
    # verify_client: true

  nftables:
    clean: true  # bridge_none、disable_iptablesをtrueに設定してリロード
    bridge_none: false  # docker起動時にbridge=none引数を設定
    disable_iptables: false  # docker起動時にiptables=false引数を設定
    reload: false  # docker.serviceの再起動後にnftablesをリロードし、自動追加されたiptablesルールを削除

実行

プレイブックを実行します:

ansible-playbook -K -D -i inventory/hosts.yml playbook.yml

機能

簡単に言うと、こちらに記載されている通りにDockerをセットアップします。

ターゲットホストにdocker-composeをインストールするオプションもあります。

  • パッケージのインストール
    • Dockerの前提条件

    • Dockerの基本パッケージ

    • デフォルトのオプトアウト:

      • docker-compose
    • デフォルトのオプトイン:

      • dockerサーバーコンポーネント(_他はクライアントのみがインストールされる_)

情報

  • 注意: このロールは現在、Debianベースのシステムのみをサポートしています。

  • 注意: NFTablesを使用している場合、Dockerを実行すると問題が発生します。

    DockerはNFTablesをネイティブにサポートしていません。'docker-ce'/'docker-ce-cli'パッケージはIPTablesが依存関係として設定されています。

    'iptables=false'のパラメータでDockerを実行することで、NFTablesのルールセットをクリーンに保つことができます。'bridge=none'が設定されていると、さらにクリーンです!

    その後、少数のIPTablesルールのみが追加されます。このDockerルールセットを完全に排除するには、Dockerが再起動するたびにNFTablesをリロードする必要があります。

    このAnsibleロールを使用すれば、その動作を設定できます。以下の例を参照してください!

    NFTablesを使用している場合は、ansibleguy.infra_nftablesロールも確認した方が良いでしょう!

プロジェクトについて

Role to deploy a minimal docker setup on a linux server

インストール
ansible-galaxy install ansibleguy.infra_docker_minimal
ライセンス
other
ダウンロード
3.8k
所有者
[email protected] | GPG: https://badges.ansibleguy.net/public.gpg