kibatic.docker-systemd

kibatic.docker-systemd

このロールは、YAML(Docker Composeに似た形式)でユニットファイルを定義し、リモートホスト上にsystemdユニットを生成することを可能にします。これは非常にシンプルで軽量ですが、強力なオーケストレーションシステムと考えることができます。

ビルドステータス Ansibleロール

要件

  • ホストシステムにDockerデーモンがインストールされていること

インストール

$ ansible-galaxy install kibatic.docker-systemd

ロール変数

# 各コンテナにマウントされるデフォルトのDockerボリューム
# /etc/localtimeはホストのタイムゾーンをコンテナに共有するために必要です
default_volumes:
  - /etc/localtime:/etc/localtime:ro
# すべてのコンテナデータが保存されるディレクトリ:ボリューム、アップロードされた設定ファイルなど
container_data_home: '/home/cloud/containers'
# docker runに渡されるデフォルトオプション
default_docker_options: ''
# 各コンテナに設定されるデフォルトのラベル
default_docker_labels: []
# デフォルトネットワーク名
default_network_name: default_network
# システムから削除するユニット
removed_units: []

例のプレイブック

ロールの使い方の例(変数をパラメータとして渡す方法も含む)を示すことは、ユーザーにとっても良いです:

- hosts:      my.awsome.host.example.com
  roles:      [ kibatic.docker-systemd ]
  vars_files: [ vars/units/my-awsome-service/units.yml ]
  tags:
    - my-awsome-service

# この行は削除されたサービスがシステムに存在しないことを確認します
- hosts: my.awsome.host.example.com
  roles: [ kibatic.docker-systemd ]
  vars:
    removed_units:
      - my-removed-service

例のユニット

systemd_units:
  - name: symfony_web
    image: my_awsome_symfony_image
    restart_unit: true # ロール実行時にユニットを再起動するかどうか(SQLクラスターでは危険な場合があります)
    host_copy: []
    environment:
      SYMFONY__DATABASE__HOST: symfony_db
      SYMFONY__DATABASE__USER: root
      SYMFONY__DATABASE__PASSWORD: root
      SYMFONY__DATABASE__NAME: demo

  - name: symfony_db
    image: mysql:5.5
    host_copy: []
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: demo

ライセンス

MIT

プロジェクトについて

Ansible role to provision docker services using systemd

インストール
ansible-galaxy install kibatic.docker-systemd
ライセンス
mit
ダウンロード
1.1k
所有者
Ajoutez de l'intelligence à vos systèmes