LoginSignup
9
8

More than 5 years have passed since last update.

AnsibleでDockerコンテナを起動するまでのPlaybook

Last updated at Posted at 2015-05-03

Playbookのすにぺっと

タイトルの通りのすにぺっと。pipのところがイマイチですが、ひとまずこれで通った。以下はVirtualBox上のVMをvagrant upした後に適用したもの。

  • 対象ホスト:Ubuntu14.04
  • Dockerをインストール
  • Dockerイメージの起動
sample.yml
---
- hosts: all

  vars:
    myuser: docker

  user: vagrant
  sudo: yes

  tasks:
  - name: Install python-pip
    apt: pkg=python-pip state=latest update_cache=yes

  - name: Install Docker
    shell: wget -qO- https://get.docker.com/ | sh  creates=/etc/default/docker

  - name: Add a docker user
    user: name={{myuser}} shell=/bin/bash password=$1$3FCsXQtq$EKWn6gqWXj6Gto9ogr.1s. groups=sudo,docker append=yes
  - name: Set a public key for docker user
    authorized_key: user={{myuser}} key="{{ lookup('file','./files/secret.key.pub') }}"

  - name: Upgrade pip
    command: /usr/bin/easy_install -U pip
  - name: install docker-py # 1.2.x has a bug
    pip: name=docker-py version=1.1.0

  - name: Run a phusion/baseimage container
    docker:
      name: test-container
      image: phusion/baseimage:latest
      pull: missing
      command: "/bin/bash"
      state: started
      tty: True

ansible-playbook の完了後、コンテナが起動した。

docker@vagrant-ubuntu-trusty-64:~$ docker ps
CONTAINER ID        IMAGE                      COMMAND             CREATED             STATUS              PORTS               NAMES
25b9a48b3568        phusion/baseimage:latest   "/bin/bash"         52 seconds ago      Up 51 seconds                           test-container
docker@vagrant-ubuntu-trusty-64:~$

docker@vagrant-ubuntu-trusty-64:~$ docker exec -it test-container bash
root@25b9a48b3568:/#

考察中

コンテナのビルドはDockerfileでやらせて(作っておいて)、AnsibleはRunだけさせるような感じがシンプルかな。コンテナに対してもAnsibleでプロビジョンするのもできなくないけど、わかりずらくそこはダルそう。できるだけ運用なんかシンプルな方がいい。

参考

9
8
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
9
8