2020年11月5日木曜日

ansible で nickjj.docker を使ってみた

概要

nickjj.docker は ansible を使って docker 環境を構築できるロールです
今回は Ubuntu 18.04 上で試してみました

環境

  • Ubuntu 18.04 (on Vagrant)
  • ansible 2.9.15

Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/bionic64"
  config.vm.network "private_network", ip: "192.168.100.11"
  config.vm.provider "virtualbox" do |vb|
    vb.memory = 4096
    vb.cpus = 2
  end
end

ansible インストール

Vagrant で構築して Ubuntu 上で作業していきます

  • sudo apt -y update
  • sudo apt -y install software-properties-common
  • sudo apt-add-repository --yes --update ppa:ansible/ansible
  • sudo apt -y install ansible

ノンパスログイン

  • ssh-keygen -t rsa
  • cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  • chmod og-wx ~/.ssh/authorized_keys

ロールインストール

  • ansible-galaxy install nickjj.docker

試す

  • vim hosts
[localhost]
localhost
  • vim site.yml
---
# site.yml
- name: Example
  hosts: localhost
  become: true
  roles:
    - role: "nickjj.docker"
      tags: ["docker"]
  • ansible-playbook -i hosts site.yml

これで docker の最新版がインストールされています
ログを見ているとわかりますが公式の手順と同様にリポジトリの追加など行っています
dockerd の設定なども playbook から変更できそうです

  • docker -v

=> 19.03.13

  • docker-compose -v

=> 1.26.2

デフォルトで docker-compose もインストールしてくれます
バージョンの指定やレジストリの URL の指定もレシピからできます

最後に

nickjj.docker を使って docker のインストールと docker-compose のインストールをしてみました
ansible 環境がすでにある場合はこれを使うと簡単にインストールできそうです

Swarm の構築までは行ってくれなさそうです

参考サイト

0 件のコメント:

コメントを投稿