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でエラーになることがあるみたいです。