LoginSignup
6
6

More than 5 years have passed since last update.

CentOS7.1でDockerをoverlayfsで設定するAnsible Playbook

Last updated at Posted at 2015-11-18

CentOS7.1でDockerをoverlayfsで設定するAnsible Playbook

背景

普段はUbuntuでstorage driverをaufsにしてDockerをいじってるんですが、周囲には「UbuntuよりもCentOSで使いたいな」という人もいるので、以下の記事を参考に高速らしいoverlayfsを使った設定のAnsible Playbookを作ってみました。

設定内容

  • CentOS 7.1のインストール直後に設定することを想定
  • SELinuxは無効化
  • firewalldは無効化
  • ntpdで時刻同期の設定
  • Dockerのstorage driverをoverlayfsに設定

Ansible Playbook

※冪等性は微妙です。。。
※本来ならcopyモジュールを使うべきところで強引にshellモジュール+echoとかで書いてます
※Ansible実行後、サーバを再起動してください

playbook.yml
---
- hosts: all
  remote_user: root
  tasks:
  - name: yum update
    command: yum -y update
  - name: disable selinux 1
    selinux: >
      state=disabled
  - name: disable selinux 2
    shell: if [ "`/usr/sbin/getenforce`" != "Disabled" ]; then /usr/sbin/setenforce 0; fi
  - name: disable firewalld
    service: >
      name=firewalld
      state=stopped
      enabled=no
  - name: install ntp
    yum: >
      name=ntp
      state=present
  - name: modify /etc/ntp.conf 1
    lineinfile: >
      dest=/etc/ntp.conf
      state=absent
      regexp="^server"
  - name: modify /etc/ntp.conf 2
    lineinfile: >
      dest=/etc/ntp.conf
      state=present
      regexp="^pool ntp.nict.jp iburst$"
      line="pool ntp.nict.jp iburst"
  - name: enable ntpd
    service: >
      name=ntpd
      enabled=yes
  - name: start ntpd
    service: >
      name=ntpd
      state=started
  - name: put /etc/yum.repos.d/docker.repo
    shell: echo -e "[dockerrepo]\nname=Docker Repository\nbaseurl=https://yum.dockerproject.org/repo/main/centos/7\nenabled=1\ngpgcheck=1\ngpgkey=https://yum.dockerproject.org/gpg" >/etc/yum.repos.d/docker.repo
  - name: install docker-engine
    yum: >
      name=docker-engine
      state=present
  - name: mkdir /etc/systemd/system/docker.service.d
    file: >
      path=/etc/systemd/system/docker.service.d
      state=directory
      mode=0755
  - name: put /etc/systemd/system/docker.service.d/storage.conf
    shell: echo -e "[Service]\nExecStart=\nExecStart=/usr/bin/docker daemon -H fd:// --storage-driver=overlay" >/etc/systemd/system/docker.service.d/storage.conf
  - name: systemctl daemon-reload
    shell: systemctl daemon-reload
  - name: enable docker
    service: >
      name=docker
      enabled=yes
  - name: start docker
    service: >
      name=docker
      state=started

追記

2015/11/18

overlayfsだとdocker build時にyum installでエラーになることがあるみたいです。

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6