Submit Search
Upload
Ansibleを使ってdockerコンテナをプロビジョニングする
•
1 like
•
2,490 views
Ryo Adachi
Follow
Ansibleを使ってdockerコンテナをプロビジョニングする
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 27
Download Now
Download to read offline
Recommended
Alpine linuxを触ってみよう
Alpine linuxを触ってみよう
Ryo Adachi
Dockerを使ってみよう
Dockerを使ってみよう
Ryo Adachi
Vagrant & Dockerによるイマドキの開発環境構築
Vagrant & Dockerによるイマドキの開発環境構築
Nakazawa Yuichi
開発環境をVagrantからdockerに移行してみた
開発環境をVagrantからdockerに移行してみた
pyar6329
【dots. IT勉強会】開発環境のDocker化
【dots. IT勉強会】開発環境のDocker化
Yuki Kanazawa
Ansible+Docker
Ansible+Docker
正太 佐久本
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
ECS-CLI in Action
ECS-CLI in Action
Ryo Nakamaru
More Related Content
What's hot
Jenkins with Docker
Jenkins with Docker
Yahoo!デベロッパーネットワーク
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
Daisuke Hiraoka
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundry
Kazuto Kusama
Dockerと継続的インテグレーション
Dockerと継続的インテグレーション
Yahoo!デベロッパーネットワーク
僕の考えた最強の開発環境(笑)
僕の考えた最強の開発環境(笑)
Yuta Nakano
VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門
Masashi Shinbara
ビルドサーバで使うDocker
ビルドサーバで使うDocker
Masashi Shinbara
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Masahiro Nagano
コンテナ事例 CircleCI, Cucumber-Chef
コンテナ事例 CircleCI, Cucumber-Chef
Yukihiko SAWANOBORI
Using LXC on Production
Using LXC on Production
Isao Shimizu
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
辰徳 斎藤
Docker Swarm入門
Docker Swarm入門
Masahito Zembutsu
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & Linux
Kazushi Kamegawa
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
Masashi Shinbara
Docker & Kubernetes基礎
Docker & Kubernetes基礎
Daisuke Hiraoka
Wocker 秒速で WordPress 開発環境を構築する
Wocker 秒速で WordPress 開発環境を構築する
Kite Koga
仮想マシンを使った開発環境の簡単共有方法
仮想マシンを使った開発環境の簡単共有方法
Hideo Takahashi
Ansible ではじめるサーバ作業の自動化
Ansible ではじめるサーバ作業の自動化
Masashi Shinbara
ProjectAtomic-and-geard
ProjectAtomic-and-geard
Naoto TAKAHASHI
Docker, Kubernetes and OpenShift v3
Docker, Kubernetes and OpenShift v3
Emma Haruka Iwao
What's hot
(20)
Jenkins with Docker
Jenkins with Docker
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundry
Dockerと継続的インテグレーション
Dockerと継続的インテグレーション
僕の考えた最強の開発環境(笑)
僕の考えた最強の開発環境(笑)
VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門
ビルドサーバで使うDocker
ビルドサーバで使うDocker
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
コンテナ事例 CircleCI, Cucumber-Chef
コンテナ事例 CircleCI, Cucumber-Chef
Using LXC on Production
Using LXC on Production
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
Docker Swarm入門
Docker Swarm入門
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & Linux
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
Docker & Kubernetes基礎
Docker & Kubernetes基礎
Wocker 秒速で WordPress 開発環境を構築する
Wocker 秒速で WordPress 開発環境を構築する
仮想マシンを使った開発環境の簡単共有方法
仮想マシンを使った開発環境の簡単共有方法
Ansible ではじめるサーバ作業の自動化
Ansible ではじめるサーバ作業の自動化
ProjectAtomic-and-geard
ProjectAtomic-and-geard
Docker, Kubernetes and OpenShift v3
Docker, Kubernetes and OpenShift v3
Viewers also liked
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)
Taro Hirose
新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた
新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた
Shuntaro Saiba
リブセンスのインフラで使ってるAnsibleのお話
リブセンスのインフラで使ってるAnsibleのお話
Shohei Koyama
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾
外道 父
Ansible Playbookの短時間デバッグ方法
Ansible Playbookの短時間デバッグ方法
Kishin Yagami
ほんとうはこわいAnsible
ほんとうはこわいAnsible
Takahiro Nakayama
[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano
[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano
Insight Technology, Inc.
運用のためのPlaybook (Playbook for Operation)
運用のためのPlaybook (Playbook for Operation)
Shingo Kitayama
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
NTT DATA OSS Professional Services
Ansibleの現在とこれから
Ansibleの現在とこれから
Taira Hajime
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
Sho A
Ansibleを使ってサーバ100台にBaculaクライアントを簡単インストール
Ansibleを使ってサーバ100台にBaculaクライアントを簡単インストール
Ken Sawada
2人でOpenStackを開発環境に導入した話
2人でOpenStackを開発環境に導入した話
Shohei Koyama
NVMe でハァハァしようよ #sapporocpp
NVMe でハァハァしようよ #sapporocpp
hiyohiyo
AnsibleによるHWプロビジョニング -OneViewの連携-
AnsibleによるHWプロビジョニング -OneViewの連携-
Takahiro Kida
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
hiyohiyo
AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策
AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策
Amazon Web Services Japan
Favorite English YouTube Channels
Favorite English YouTube Channels
Emma Haruka Iwao
2012/11/14 softlab_study 発表資料「SSDの基礎」
2012/11/14 softlab_study 発表資料「SSDの基礎」
Ryo Okubo
サーバーの動くメモをAnsibleでとろう
サーバーの動くメモをAnsibleでとろう
Takayuki Hayashi
Viewers also liked
(20)
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)
新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた
新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた
リブセンスのインフラで使ってるAnsibleのお話
リブセンスのインフラで使ってるAnsibleのお話
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾
Ansible Playbookの短時間デバッグ方法
Ansible Playbookの短時間デバッグ方法
ほんとうはこわいAnsible
ほんとうはこわいAnsible
[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano
[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano
運用のためのPlaybook (Playbook for Operation)
運用のためのPlaybook (Playbook for Operation)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleの現在とこれから
Ansibleの現在とこれから
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
Ansibleを使ってサーバ100台にBaculaクライアントを簡単インストール
Ansibleを使ってサーバ100台にBaculaクライアントを簡単インストール
2人でOpenStackを開発環境に導入した話
2人でOpenStackを開発環境に導入した話
NVMe でハァハァしようよ #sapporocpp
NVMe でハァハァしようよ #sapporocpp
AnsibleによるHWプロビジョニング -OneViewの連携-
AnsibleによるHWプロビジョニング -OneViewの連携-
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策
AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策
Favorite English YouTube Channels
Favorite English YouTube Channels
2012/11/14 softlab_study 発表資料「SSDの基礎」
2012/11/14 softlab_study 発表資料「SSDの基礎」
サーバーの動くメモをAnsibleでとろう
サーバーの動くメモをAnsibleでとろう
Similar to Ansibleを使ってdockerコンテナをプロビジョニングする
Docker実践入門
Docker実践入門
hiro nemu
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
Hori Tasuku
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Ryo Nakamaru
Dockerハンズオン
Dockerハンズオン
啓介 大橋
130412 kayac-cinnamon
130412 kayac-cinnamon
Yuki Shibazaki
Dockerハンズオン
Dockerハンズオン
Kon Yuichi
Newcomer2020 Docker研修
Newcomer2020 Docker研修
Suguru Yazawa
Docker講習会資料
Docker講習会資料
teruyaono1
Building production server on docker
Building production server on docker
Hiroshi Miura
Building production server on docker
Building production server on docker
Hiroshi Miura
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
Masahito Zembutsu
Fig
Fig
Tadayasu Yotsu
自作アプリをデプロイしてみた with Docker
自作アプリをデプロイしてみた with Docker
iPride Co., Ltd.
Ansibleで始めるinfraTDD(初級編)
Ansibleで始めるinfraTDD(初級編)
佐久本正太
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Naoki Nagazumi
20150101勉強会 dokku alt
20150101勉強会 dokku alt
Shugo Numano
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみた
atk1234
Webアプリケーション開発者のためのDockerハンズオン
Webアプリケーション開発者のためのDockerハンズオン
虎の穴 開発室
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
Masahito Zembutsu
Similar to Ansibleを使ってdockerコンテナをプロビジョニングする
(20)
Docker実践入門
Docker実践入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerハンズオン
Dockerハンズオン
130412 kayac-cinnamon
130412 kayac-cinnamon
Dockerハンズオン
Dockerハンズオン
Newcomer2020 Docker研修
Newcomer2020 Docker研修
Docker講習会資料
Docker講習会資料
Building production server on docker
Building production server on docker
Building production server on docker
Building production server on docker
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
Fig
Fig
自作アプリをデプロイしてみた with Docker
自作アプリをデプロイしてみた with Docker
Ansibleで始めるinfraTDD(初級編)
Ansibleで始めるinfraTDD(初級編)
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
20150101勉強会 dokku alt
20150101勉強会 dokku alt
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみた
Webアプリケーション開発者のためのDockerハンズオン
Webアプリケーション開発者のためのDockerハンズオン
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
Ansibleを使ってdockerコンテナをプロビジョニングする
1.
ansibleを使って Dockerコンテナを プロビジョニングする GMO AD MARKETING
インフラ開発本部 Adachi Ryo For APG Engineer Night
2.
アジェンダ • 自己紹介 • 今までの検証環境/docker使うとなにがいいのか •
ansibleとdocker • docker connection pluginとは • 環境構築 • dockerホストの監視とdockerホストWebUIについて紹介 • デモ • まとめ
3.
• @adachin0817 • Ryo
Adachi • GMO AD MARKETING • Infra Engineer • http://adachin.server-on.net/
4.
そもそもなんでansibleなのか! • 今まで様々な構成管理ツールを使っていたが、 ansibleに統一することにした • 様々なモジュールがあるため今後の将来性があ る •
やっぱり学習コストが低い
5.
今までの検証環境 • Vagrantを使いまくっていた • 構築するのに手間がかかる(Macでは限界) •
複数仮想マシンつくると管理がめんどくさい • dockerで全て検証したい!
6.
dockerを使うとなにがいいのか • コンテナ技術が軽すぎる • ゲストイメージの起動が一瞬 •
IPも自動で振られる • インフラの人じゃなくてもすぐに構築ができる • サーバに優しい、サーバ構成管理が簡単に可視化でき る • 学習コストはそこまで高くない
7.
ansibleとdocker • dockerホストにansibleを入れれば OKじゃないの? →そもそもそんなことしなくていい • ansible2.0からdockerのConnection
Pluginに対応 した
8.
イメージ図
9.
• docker connection
pluginとは • Docker Remote APIを利用したコンテナのプロビ ジョニングが可能 • ansible実行環境からDockerホストへRemote API を実行できる環境であれば、Dockerコンテナで sshdを起動しておく必要はない
10.
ちなみに現実の世界だと
11.
環境構築 • # docker
-v Docker version 1.12.1, build b9f10c9 • $ docker-machine -v docker-machine version 0.8.1
12.
ローカルにansibleインストール • $ brew
install ansible • $ ansible —version ansible 2.1.1.0
13.
dockerホスト環境設定 • $ docker-machine
ls docker01 - virtualbox Running tcp://192.168.99.100:2376 v1.12.0 • $ eval "$(docker-machine env docker01)" • $ docker info Containers: 0 Running: 0
14.
ansibleイベントファイルの作成 • $ vim
hosts [docker_host] docker01 • [container] test-container
15.
ansibleイベントファイルの作成 • $ vim
ssh_config Host docker01 HostName 192.168.99.100 User docker UserKnownHostsFile /dev/null IdentityFile ~/.docker/machine/machines/docker01/id_rsa StrictHostKeyChecking no
16.
ansibleイベントファイルの作成 • $ vim
ansible.cfg [defaults] inventory = hosts [ssh_connection] ssh_args = -F ssh_config scp_if_ssh = True • cp /etc/ansible or /usr/local/etc/ansible/
17.
dockerホストにPythonのインストール • docker@docker01:~$ tce-load
-wi python • docker@docker01:~$ python --version Python 2.7.10 • docker@docker01:~$ curl https://bootstrap.pypa.io/get-pip.py | sudo python - • docker@docker01:~$ sudo pip install docker-py • docker@docker01:~$ sudo ln -s /usr/local/bin/python /usr/bin/python
18.
dockerホストとの接続確認 • $ ansible
-i hosts docker01 -m ping docker01 | SUCCESS = { "changed": false, "ping": "pong" }
19.
プロビジョニング • --- - hosts:
docker01 become: yes remote_user: docker tasks: - name: deploy centos container docker: image=centos:centos6 name=test-container ports=80:80 expose=80 tty=yes - hosts: test-container connection: docker #Docker Connection Plugin - include: roles/common/tasks/yum_update.yml tags: yum_update.yml - include: roles/common/tasks/yum_repos.yml tags: yum_repos.yml - include: roles/common/tasks/user.yml tags: common
20.
実行 • $ ansible-playbook
docker-site.yml PLAY *************************************************************************** TASK [setup] ******************************************************************* ok: [docker01] TASK [deploy centos container] ************************************************* changed: [docker01] PLAY [test-container] ************************************************************ TASK [setup] ******************************************************************* ok: [test-container] TASK [yum_update.yml] ******************************************************** changed: [test-container] > (item=[u'yum_update.yml']) TASK [yum_repos.yml] ********************************************************** changed: [test-container] > (item= yum_repos.yml) TASK [common] ********************************************************** changed: [test-container] > (item= common) PLAY RECAP ********************************************************************* docker01 : ok=2 changed=1 unreachable=0 failed=0 test-container : ok=3 changed=2 unreachable=0 failed=0
21.
コンテナが立ち上がってる確認 • docker@docker01:~# docker
ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9fbc512669a2 centos:6 "/bin/bash" 54 minutes ago Up 54 minutes 0.0.0.0:80-80/tcp test- container
22.
コンテナログイン • docker attach
ハッシュ値だとコマンドが打てな い • docker exec -it Containername /bin/bashすれば 問題なし
23.
• dockerホストの監視と dockerホストWebUIについて紹介 ・netdata(リアルタイムモニタリングツール)
24.
• dockerホストの監視と dockerホストWebUIについて紹介 ・shipyard(dockerホストWebUI)
25.
デモやります
26.
まとめ • dockerでも問題なくansible使って検証できる • vagrantと違ってすぐ消してほかにも試せる •
社内検証用dockerサーバも構築予定 • アプリチームにはansibleで作ったplaybook(コン テナ)をイメージ側して起動するだけで環境を整 えさせる
27.
ご清聴ありがとう ございました!
Download Now