gbolo.docker

Docker - Ansibleロール

ビルドステータス

このロールは、以下のプラットフォームにDockerを完全に設定し、インストールします:

  • RHEL/CentOS 7
  • Debian/Ubuntu

このロールはdockerバージョン1.11以上のみをサポートしています

要件

ロール変数

以下の変数を使用して、dockerのインストールをカスタマイズできます:

# OS関連 -------------------------------------------------------------------
## 公式のdockerリポジトリを使用
docker_repo_enabled: true
## dockerリポジトリチャネルの有効状態を選択
docker_repo_channel_stable_enabled: true
docker_repo_channel_edge_enabled: false
docker_repo_channel_test_enabled: false
## インストールするdockerパッケージの名前
docker_pkg_name: "docker-ce"
## パッケージの状態 (present, latest, etc.)
docker_pkg_state: present
## dockerサービスの名前
docker_service_name: "docker"
## dockerデーモンをブート時に開始するべきか?
docker_service_enable: true
## dockerソケットファイルのグループ名
docker_group: "docker"
## ansibleのdockerモジュール用にpython-docker-pyをインストールするべきか?
docker_install_py_module: false

# プロキシ関連 ----------------------------------------------------------------
## dockerデーモンは外部接続のためにプロキシを使用するべきか?
docker_proxy_enabled: false
## 設定する環境変数のリスト (不要なものはコメントアウト)
docker_proxy_env:
  - "HTTP_PROXY=http://proxy.example.com:80/"
  - "HTTP_PROXY=https://proxy.example.com:443/"
  - "NO_PROXY=localhost,127.0.0.1,internalhub.example.com"

# dockerクライアントの設定 --------------------------------------------------
## dockerレジストリの認証を有効にする
docker_client_config_enabled: false
## クライアント設定をプッシュすべき場所
docker_client_config_location: "/root/.docker/config.json"
# 認証 (docker login) に使う例:
#docker_client_config:
#  auths:
#    "https://test.tld:1234":
#      auth: "SOME_STRING"
#      email: "SOME_EMAIL"

# デフォルトのdockerd設定オプション ----------------------------------------
## https://docs.docker.com/engine/reference/commandline/dockerd/#/linux-configuration-file
docker_config_data_root: "/var/lib/docker"
docker_config_log_driver: ""
docker_config_log_opts: {}
docker_config_max_concurrent_downloads: 3
docker_config_max_concurrent_uploads: 5
docker_config_debug: false
docker_config_log_level: ""
docker_config_bridge: ~
docker_config_bip: "172.16.0.1/24"
docker_config_fixed_cidr: "172.16.0.0/24"
docker_config_fixed_cidr_v6: ""
docker_config_default_gateway: ""
docker_config_default_gateway_v6: ""
docker_config_selinux_enabled: false
docker_config_ip: "0.0.0.0"
docker_config_group: "{{ docker_group }}"
docker_config_insecure_registries: []

# 追加のカスタムdocker設定をこの辞書に追加できます:
docker_config_custom: {}

サンプルプレイブック

ローカルのCentOSサーバーに最新のdocker stableリリースをインストール

- hosts: localhost
  roles:
     - { role: gbolo.docker, docker_pkg_state: latest }

ローカルのCentOSサーバーに最新のdocker edgeリリースをインストール

- hosts: localhost
  roles:
     - { role: gbolo.docker, docker_pkg_state: latest, docker_repo_channel_edge_enabled: true }

ローカルのCentOSサーバーに古いdocker stableリリースをインストール

- hosts: localhost
  roles:
     - { role: gbolo.docker, docker_pkg_name: docker-ce-18.03.1.ce-1.el7.centos }

さまざまな変数を適用した高度なプレイブック

- hosts: localhost
  vars:
    # dockerコンテナ/イメージを/opt/dockerに保存
    docker_config_data_root: /opt/docker
    # デフォルトのdockerブリッジサブネットを変更
    docker_config_bip: 172.16.77.77/24
    # デフォルトのログドライバーをjournaldに設定
    docker_config_log_driver: journald
    # docker_config_customを使用して追加の設定を定義
    docker_config_custom:
      # 実験モードを有効に
      experimental: true
      # ソケットファイルとtcp経由でdocker APIを公開
      hosts:
        - unix:///var/run/docker.sock
        - tcp://0.0.0.0:2376
      # デフォルトの検索ドメインを設定
      dns-search:
        - lab1.linuxctl.com
        - lab2.linuxctl.com

  roles:
    - role: gbolo.docker

著者とライセンス

dockerロールは、

ライセンス: MIT

無料ソフトウェア、最高!

プロジェクトについて

Role for Installation and Configuration of Docker

インストール
ansible-galaxy install gbolo.docker
ライセンス
mit
ダウンロード
130
所有者
Father, Husband, Engineer