概要
CentOS7 を構築するたびに docker のインストールを手動で行っていたので ansible のレシピ化をしてみました
別のディストリビューションでの動作やバージョンを指定してのインストールには対応していません
環境
- CentOS 7.3.1611
- docker 17.05.0-ce, build 89658be
- docker-compose 1.12.0
- ansible 2.3.0.0 (実行側クライアント)
レシピ
- vim roles/docker/tasks/install.yml
- name: Remove installed docker
yum:
name:
- docker
- docker-common
- container-selinux
- docker-selinux
- docker-engine
state: absent
- name: Install yum-utils
yum:
name:
- yum-utils
state: present
- name: Add docker yum repositry
command: yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- name: Enable repo
command: yum-config-manager --enable docker-ce-edge
- name: Make cache
command: yum makecache fast
- name: Update
yum:
name: '*'
state: latest
- name: Install newest docker
yum:
name:
- docker-ce
ちなみに docker-compose までインストールしたい場合は以下を追記すれば OK です
- name: Install docker-compose
shell: "curl -L https://github.com/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose"
- name: Add execution permission
command: 'sudo chmod +x /usr/local/bin/docker-compose'
という感じのレシピを作成してメイン側の yml ファイルで
---
- hosts: all
user: root
roles:
- docker
とかすれば OK かなと思います
最後に
CentOS7 に ansible で docker の最新版をインストールする方法を紹介しました
docker のインストール方法は結構変わるのでいずれ使えなくなる可能性がありますが、備忘録として残しておきます
今回のレシピは変数やテンプレートも使っておらずかなりシンプルなレシピになっています
とりあえず動けば的な感じで作ったので command や shell も多用しています
ansible は最新バージョンに追従したりしなきゃいけないので結構メンテナンス大変ですね、、、
0 件のコメント:
コメントを投稿