SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
2014/12/06 Vol.1 
Docker䛳䛶ఱ䛷䛩䛛䠛 
Infrastructure.nagoya
自己紹介 
● 䛿䜎䛨 䠄@HmjKRS䠅 
○ ᮶ᰨᕝ㟁⟬ ♫ෆ䝙䞊䝖 
○ ඖ䜲䞁䝣䝷ᢸᙜ → ㄆ㆑⣔䜶䞁䝆䝙䜰ぢ⩦䛔 
○ Chef, Vagrant, docker 䜢ᗈ䜑䜘䛖䛸䛧䛯ே 
○ ኚ䛺䛣䛸䛜ዲ䛝
自己紹介 
● 䛿䜎䛨 䠄@HmjKRS䠅 
○ ᮶ᰨᕝ㟁⟬ ♫ෆ䝙䞊䝖 
○ ඖ䜲䞁䝣䝷ᢸᙜ → ㄆ㆑⣔䜶䞁䝆䝙䜰ぢ⩦䛔 
○ Chef, Vagrant, docker 䜢ᗈ䜑䜘䛖䛸䛧䛯ே 
○ ኚ䛺䛣䛸䛜ዲ䛝 
Jenkins ⏝䛾 docker 䝥䝷䜾䜲䞁䜢᭩䛔䛶䚸 
docker 䜢䛴䛛䛳䛯 CI ⎔ቃ䜢ᵓ⠏䞉㐠⏝䛧䛶䜎䛧䛯䚹
今日の目的 
docker 䛣䜟䛟䛺䛔䚹 
䜒䛳䛸㌟㏆䛻ឤ䛨䛶䜋䛧䛔䚹
今日やること 
● CentOS 䛷 docker 䜢ゐ䛳䛶䜏䜛 
● docker 䛷䝔䝖䝸䝇䛩䜛 
● docker 䛷౑䛔ᤞ䛶䝣䜯䜲䝹䝃䞊䝞䞊䜢❧䛶䜛 
● fig 䛷䝁䞁䝔䝘䜢⟶⌮䛩䜛
docker 䛸䛿
ソフトウェアとしての docker 
● 䝁䞁䝔䝘ᆺ௬᝿໬ 
䝝䜲䝟䞊䝞䜲䝄ᆺ䛸ẚ㍑䛧䛶㍍㔞䞉㧗㏿ 
● Infrastructure as Code 䛾䝃䝫䞊䝖 
Dockerfile 䛛䜙䜲䝯䞊䝆䜢෌⌧䛷䛝䜛 
● 䜲䝯䞊䝆䛾ᕪศ⟶⌮ 
git 䛾䜘䛖䛻䜲䝯䞊䝆䜢⟶⌮ 
䜲䝯䞊䝆䛿䝸䝫䝆䝖䝸䛻 commit 䛧䛶ඹ᭷䛷䛝䜛
docker の目指す世界 
䜰䝥䝸䜿䞊䝅䝵䞁䛾ḟୡ௦䝥䝷䝑䝖䝣䜷䞊䝮 
● docker 䛥䛘ື䛡䜀䛒䜙䜖䜛䜰䝥䝸䜿䞊䝅䝵䞁䛜ື䛟 
䛩䜉䛶䛾䜰䝥䝸䜿䞊䝅䝵䞁䛿䝁䞁䝔䝘ୖ䛷ື䛟 
䝩䝇䝖䝬䝅䞁䛾⎔ቃ䛻䛿౫Ꮡ䛧䛺䛔 
● 䜰䝥䝸䜿䞊䝅䝵䞁䜢㓄ᕸ䛩䜛᫬௦䛾⤊ᖥ 
docker 䜲䝯䞊䝆䜢㓄ᕸ䛩䜛᫬௦䜈
docker 䜲䞁䝇䝖䞊䝹
CentOS 6 系 
■ kernel 3.8 ௨㝆䛻᭦᪂ 
# yum -y install bc 
# curl -L -O https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.10.tar.bz2 
# tar xfj linux-3.10.tar.bz2 
# cd linux-3.10 
# cp /boot/config-$(uname -r) .config && yes "" | make oldconfig 
# make && make modules_install && make install 
# sed -ie 's/^default=1/default=0/' /etc/grub.conf 
■ docker 䜲䞁䝇䝖䞊䝹 
# sed -ie 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 
# yum -y install  
http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 
# yum -y install docker-io lxc 
# sed -ie 's/^other_args=/other_args="--exec-driver lxc --selinux-enabled"/'  
/etc/sysconfig/docker 
# usermod -G docker vagrant 
# service docker start 
# chkconfig docker on 
docker 1.3 䛛䜙ྂ䛔 kernel 䛷䛿 
㉳ື䛷䛝䛺䛟䛺䛳䛯䚹
CentOS 7 系 
■ docker 䜲䞁䝇䝖䞊䝹 
# yum install docker 
# usermod -G docker vagrant 
# systemctl start docker.service 
# systemctl enable docker.service 
௨๓䛿 /usr/lib/systemd/system/docker.service 䛻 
䝞䜾䛜䛒䛳䛯䛜䚸⌧ᅾ䛿ゎᾘ䛥䜜䛶䛔䜛
インストールしたらやること 
docker 䜢䜲䞁䝇䝖䞊䝹䛧䛯䜙 
䜎䛪᭱ึ䛻↓䛾䝁䝬䞁䝗䜢ᐇ⾜䛩䜛䛸ᖾ䛫䛻䛺䜜䜎䛩䚹 
$ docker run -it --rm supertest2014/nyan
(*´Д`)
ᮏ㢟
docker 䜢䛴䛛䛳䛶 
䛣䛳䛭䜚䝔䝖䝸䝇䛩䜛 
ୖྖ䛻䝞䝺䛺䛔䜘䛖䛻⑞㊧䜢ṧ䛥䛪䛻㐟䜌䛖
テトリスができるイメージをつくろう 
● ౑⏝䛩䜛 Dockerfile 
$ cd /vagrant 
$ cat ./bastet/Dockerfile 
FROM ubuntu:14.10 
RUN echo  
'deb http://us.archive.ubuntu.com/ubuntu precise main universe'  
>> /etc/apt/sources.list 
RUN apt-get update 
RUN apt-get install -y bastet 
ENTRYPOINT /usr/games/bastet 
● 䜲䝯䞊䝆䛾䝡䝹䝗 
$ docker build -t hamaji/bastet ./bastet
コンテナを起動してみよう 
● ↓ 䛾䝁䝬䞁䝗䜢ᐇ⾜ 
$ docker run -it --rm hamaji/bastet 
● 䝔䝖䝸䝇䛷䛝䜛䜘 
䜹䞊䝋䝹䜻䞊䠖⛣ື 
䝇䝨䞊䝇䜻䞊䠖ᅇ㌿
インベーダーも 
“bastet” 䛾㒊ศ䜢 “ninvaders” 䛻ኚ䛘䜛䛸 
䜲䞁䝧䞊䝎䞊䜒䛣䛳䛭䜚㐟䜉䜛
docker 䜢䛴䛛䛳䛶 
䝣䜯䜲䝹䝃䞊䝞䞊䜢❧䛶䜛 
䝁䝬䞁䝗䜂䛸䛴䛷䜹䝺䞁䝖䝕䜱䝺䜽䝖䝸䜢 
Samba 䛷බ㛤䛷䛝䛯䜙౽฼䛰䜘䛽
Samba を立てるイメージをつくろう 
● ౑⏝䛩䜛 Dockerfile 
$ cat ./samba/Dockerfile 
FROM centos:centos6 
RUN yum -y install samba 
RUN mkdir -p /var/samba 
ADD smb.conf /etc/samba/smb.conf 
EXPOSE 139 445 
ENTRYPOINT smbd --daemon --foreground --log-stdout 
● 䜲䝯䞊䝆䛾䝡䝹䝗 
$ docker build -t hamaji/samba ./samba
コンテナを起動してみよう 
● බ㛤䛧䛯䛔䝕䜱䝺䜽䝖䝸䛻⛣ື䛧䛶 ↓ 䛾䝁䝬䞁䝗䜢ᐇ⾜ 
$ docker run -p 139:139 -p 445:445  
-v $(pwd):/var/samba -d --name samba  
hamaji/samba 
● Web 䝤䝷䜴䝄䛷 ↓ 䛻䜰䜽䝉䝇 
smb://<䝩䝇䝖䝬䝅䞁䛾IP䜰䝗䝺䝇>/public 
● ‶㊊䛧䛯䜙 ↓ 䛾䝁䝬䞁䝗䛷⤊஢ 
$ docker kill samba
Web サーバーも簡単に 
ྠ䛨䜘䛖䛺᪉ἲ䛷䜹䝺䞁䝖䝕䜱䝺䜽䝖䝸䜢 
䝁䝬䞁䝗䜂䛸䛴䛷 http 䛷බ㛤䛩䜛䛣䛸䜒䛷䛝䜛
fig 䜢䛴䛛䛳䛶 
䝁䞁䝔䝘䜢⟶⌮䛧䜘䛖 
docker run 䝁䝬䞁䝗䛳䛶↓㥏䛻㛗䛔䛧䚸 
䝫䞊䝖䜔䝬䜴䞁䝖ඖ䛿ᅛᐃ໬䛧䛯䛔䜘䛽
fig の何がうれしいか 
● ⣲䛾 docker 䝁䝬䞁䝗䛿㛗䛔䛧䚸㛫㐪䛘䜔䛩䛔 
$ docker run -p 139:139 -p 445:445 -v $(pwd):/var/samba -d --name samba hamaji/samba 
䛹䛾䝁䞁䝔䝘䛻䛹䛾䝫䞊䝖䜢䝞䜲䞁䝗䛩䜛䛛䚸 
䛹䛾䝕䜱䝺䜽䝖䝸䜢䝬䜴䞁䝖䛩䜛䛛䛿ᡭ㡰᭩䛷⟶⌮䛩䜛䛧䛛䛺䛔䚹 
● fig 䛺䜙䝁䞁䝔䝘䛾タᐃ䜢䝣䜯䜲䝹䛻᭩䛔䛶䛚䛡䜛 
$ fig up 
fig.yml 䛻䝫䞊䝖䜔䝬䜴䞁䝖䛩䜛䝕䜱䝺䜽䝖䝸䜢᭩䛔䛶䛚䛡䜛䚹 
fig.yml 䛜䛒䜜䜀䚸䛒䛸䛿䝁䝬䞁䝗䛯䛯䛟䛰䛡䚹
fig のインストール 
■ CentOS 6 ⣔ 
# yum -y install  
http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 
# yum -y install python-pip 
# pip install -U fig 
■ CentOS 7 ⣔ 
# yum install epel-release 
# yum -y install python-pip 
# pip install -U fig
fig.yml を書こう 
● Samba 䝁䞁䝔䝘䛾 fig.yml 
$ cat ./samba/fig.yml 
samba: 
build: ./ 
ports: 
- 139:139 
- 445:445 
volumes: 
- /vagrant:/var/samba
fig でコンテナを制御しよう 
● 䝁䞁䝔䝘䛾⏕ᡂ䛸㉳ື 
$ fig up -d 
● 䛒䛸䛿 --help 䛷 
$ fig --help
䛚䜟䜚

Mais conteúdo relacionado

Mais procurados

GitLab + Dokku で作る CI/CD 環境
GitLab + Dokku で作る CI/CD 環境GitLab + Dokku で作る CI/CD 環境
GitLab + Dokku で作る CI/CD 環境Kazuhiro Nishiyama
 
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話YASUKAZU NAGATOMI
 
Linuxで温度計測あれこれ
Linuxで温度計測あれこれLinuxで温度計測あれこれ
Linuxで温度計測あれこれKenichiro MATOHARA
 
SoftlayerのCLIで遊ぼうとしたら
SoftlayerのCLIで遊ぼうとしたらSoftlayerのCLIで遊ぼうとしたら
SoftlayerのCLIで遊ぼうとしたら雄哉 吉田
 
Jenkinsの導入 Vol.01
Jenkinsの導入 Vol.01Jenkinsの導入 Vol.01
Jenkinsの導入 Vol.01regret raym
 
Getting started with Play20
Getting started with Play20Getting started with Play20
Getting started with Play20Kazuhiro Sera
 
Jenkinsの導入 vol.02 Bitbucketと連携する
Jenkinsの導入 vol.02 Bitbucketと連携するJenkinsの導入 vol.02 Bitbucketと連携する
Jenkinsの導入 vol.02 Bitbucketと連携するregret raym
 
BuddyPressの導入からカスタマイズまでの日記
BuddyPressの導入からカスタマイズまでの日記BuddyPressの導入からカスタマイズまでの日記
BuddyPressの導入からカスタマイズまでの日記Shoichi Otomo
 
Drone.io のご紹介
Drone.io のご紹介Drone.io のご紹介
Drone.io のご紹介Uchio Kondo
 
githubハンズオン
githubハンズオンgithubハンズオン
githubハンズオンAyaka Ueda
 
20161203 Gentoo勉強会
20161203 Gentoo勉強会20161203 Gentoo勉強会
20161203 Gentoo勉強会alice ferrazzi
 
Dive into dockerネットワーク
Dive into dockerネットワークDive into dockerネットワーク
Dive into dockerネットワークKazuyuki Mori
 
DockerでGUIアプリケーションを動かす
DockerでGUIアプリケーションを動かすDockerでGUIアプリケーションを動かす
DockerでGUIアプリケーションを動かすigjit
 
「やっちまったぁ!」を防ごう!
「やっちまったぁ!」を防ごう!「やっちまったぁ!」を防ごう!
「やっちまったぁ!」を防ごう!博文 斉藤
 
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2Mitsutoshi Nakano
 
Prefixから始めるgentoo生活
Prefixから始めるgentoo生活Prefixから始めるgentoo生活
Prefixから始めるgentoo生活bontakun
 

Mais procurados (20)

Sinatra and heroku for mac
Sinatra and heroku for macSinatra and heroku for mac
Sinatra and heroku for mac
 
GitLab + Dokku で作る CI/CD 環境
GitLab + Dokku で作る CI/CD 環境GitLab + Dokku で作る CI/CD 環境
GitLab + Dokku で作る CI/CD 環境
 
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
 
Jenkins with Docker
Jenkins with DockerJenkins with Docker
Jenkins with Docker
 
Linuxで温度計測あれこれ
Linuxで温度計測あれこれLinuxで温度計測あれこれ
Linuxで温度計測あれこれ
 
SoftlayerのCLIで遊ぼうとしたら
SoftlayerのCLIで遊ぼうとしたらSoftlayerのCLIで遊ぼうとしたら
SoftlayerのCLIで遊ぼうとしたら
 
Jenkinsの導入 Vol.01
Jenkinsの導入 Vol.01Jenkinsの導入 Vol.01
Jenkinsの導入 Vol.01
 
Getting started with Play20
Getting started with Play20Getting started with Play20
Getting started with Play20
 
Jenkinsの導入 vol.02 Bitbucketと連携する
Jenkinsの導入 vol.02 Bitbucketと連携するJenkinsの導入 vol.02 Bitbucketと連携する
Jenkinsの導入 vol.02 Bitbucketと連携する
 
BuddyPressの導入からカスタマイズまでの日記
BuddyPressの導入からカスタマイズまでの日記BuddyPressの導入からカスタマイズまでの日記
BuddyPressの導入からカスタマイズまでの日記
 
Drone.io のご紹介
Drone.io のご紹介Drone.io のご紹介
Drone.io のご紹介
 
Hudson using Groovy #jggug
Hudson using Groovy  #jggugHudson using Groovy  #jggug
Hudson using Groovy #jggug
 
githubハンズオン
githubハンズオンgithubハンズオン
githubハンズオン
 
Dockerの導入
Dockerの導入Dockerの導入
Dockerの導入
 
20161203 Gentoo勉強会
20161203 Gentoo勉強会20161203 Gentoo勉強会
20161203 Gentoo勉強会
 
Dive into dockerネットワーク
Dive into dockerネットワークDive into dockerネットワーク
Dive into dockerネットワーク
 
DockerでGUIアプリケーションを動かす
DockerでGUIアプリケーションを動かすDockerでGUIアプリケーションを動かす
DockerでGUIアプリケーションを動かす
 
「やっちまったぁ!」を防ごう!
「やっちまったぁ!」を防ごう!「やっちまったぁ!」を防ごう!
「やっちまったぁ!」を防ごう!
 
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
 
Prefixから始めるgentoo生活
Prefixから始めるgentoo生活Prefixから始めるgentoo生活
Prefixから始めるgentoo生活
 

Semelhante a Infrastructure.nagoya ~Dockerって何ですか?~

サーバー&インフラ勉強会 Vol.1 いとー
サーバー&インフラ勉強会 Vol.1 いとーサーバー&インフラ勉強会 Vol.1 いとー
サーバー&インフラ勉強会 Vol.1 いとーkrs_mizuno
 
コンテナ情報交換会2
コンテナ情報交換会2コンテナ情報交換会2
コンテナ情報交換会2Masahide Yamamoto
 
Dodai projectの紹介
Dodai projectの紹介Dodai projectの紹介
Dodai projectの紹介Osamu Habuka
 
Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルDockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルMasahito Zembutsu
 
Dockerを使ってみよう
Dockerを使ってみようDockerを使ってみよう
Dockerを使ってみようRyo Adachi
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門Masahito Zembutsu
 
OpenStack Summit 2014 Paris 出張報告
OpenStack Summit 2014 Paris 出張報告OpenStack Summit 2014 Paris 出張報告
OpenStack Summit 2014 Paris 出張報告VirtualTech Japan Inc.
 
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo LinuxについてTakuto Matsuu
 
Introduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing DockerfilesIntroduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing DockerfilesYukiya Hayashi
 
Sakura no-yuube-20140327
Sakura no-yuube-20140327Sakura no-yuube-20140327
Sakura no-yuube-20140327Kunihiro TANAKA
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Yuichi Ito
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Masahiro Nagano
 
究極のディストリビューションUbuntu
究極のディストリビューションUbuntu究極のディストリビューションUbuntu
究極のディストリビューションUbuntuKenichi Takahashi
 
Webアプリケーション開発者のためのDockerハンズオン20210519
Webアプリケーション開発者のためのDockerハンズオン20210519Webアプリケーション開発者のためのDockerハンズオン20210519
Webアプリケーション開発者のためのDockerハンズオン20210519虎の穴 開発室
 
スマホネイティブゲーム 開発効率改善
スマホネイティブゲーム 開発効率改善スマホネイティブゲーム 開発効率改善
スマホネイティブゲーム 開発効率改善dena_study
 
[Android] CI環境についてぼんやり考えてること
[Android] CI環境についてぼんやり考えてること[Android] CI環境についてぼんやり考えてること
[Android] CI環境についてぼんやり考えてることichigotake .
 
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup ) Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup ) Ai Makabi
 
Webアプリケーション開発者のためのDockerハンズオン
Webアプリケーション開発者のためのDockerハンズオンWebアプリケーション開発者のためのDockerハンズオン
Webアプリケーション開発者のためのDockerハンズオン虎の穴 開発室
 

Semelhante a Infrastructure.nagoya ~Dockerって何ですか?~ (20)

サーバー&インフラ勉強会 Vol.1 いとー
サーバー&インフラ勉強会 Vol.1 いとーサーバー&インフラ勉強会 Vol.1 いとー
サーバー&インフラ勉強会 Vol.1 いとー
 
Docker社内勉強会
Docker社内勉強会Docker社内勉強会
Docker社内勉強会
 
コンテナ情報交換会2
コンテナ情報交換会2コンテナ情報交換会2
コンテナ情報交換会2
 
Dodai projectの紹介
Dodai projectの紹介Dodai projectの紹介
Dodai projectの紹介
 
Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルDockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクル
 
Dockerを使ってみよう
Dockerを使ってみようDockerを使ってみよう
Dockerを使ってみよう
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
 
OpenStack Summit 2014 Paris 出張報告
OpenStack Summit 2014 Paris 出張報告OpenStack Summit 2014 Paris 出張報告
OpenStack Summit 2014 Paris 出張報告
 
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
 
Introduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing DockerfilesIntroduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing Dockerfiles
 
Sakura no-yuube-20140327
Sakura no-yuube-20140327Sakura no-yuube-20140327
Sakura no-yuube-20140327
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
 
究極のディストリビューションUbuntu
究極のディストリビューションUbuntu究極のディストリビューションUbuntu
究極のディストリビューションUbuntu
 
Webアプリケーション開発者のためのDockerハンズオン20210519
Webアプリケーション開発者のためのDockerハンズオン20210519Webアプリケーション開発者のためのDockerハンズオン20210519
Webアプリケーション開発者のためのDockerハンズオン20210519
 
20230128.pptx
20230128.pptx20230128.pptx
20230128.pptx
 
スマホネイティブゲーム 開発効率改善
スマホネイティブゲーム 開発効率改善スマホネイティブゲーム 開発効率改善
スマホネイティブゲーム 開発効率改善
 
[Android] CI環境についてぼんやり考えてること
[Android] CI環境についてぼんやり考えてること[Android] CI環境についてぼんやり考えてること
[Android] CI環境についてぼんやり考えてること
 
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup ) Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
 
Webアプリケーション開発者のためのDockerハンズオン
Webアプリケーション開発者のためのDockerハンズオンWebアプリケーション開発者のためのDockerハンズオン
Webアプリケーション開発者のためのDockerハンズオン
 

Último

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 

Último (9)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 

Infrastructure.nagoya ~Dockerって何ですか?~

  • 2. 自己紹介 ● 䛿䜎䛨 䠄@HmjKRS䠅 ○ ᮶ᰨᕝ㟁⟬ ♫ෆ䝙䞊䝖 ○ ඖ䜲䞁䝣䝷ᢸᙜ → ㄆ㆑⣔䜶䞁䝆䝙䜰ぢ⩦䛔 ○ Chef, Vagrant, docker 䜢ᗈ䜑䜘䛖䛸䛧䛯ே ○ ኚ䛺䛣䛸䛜ዲ䛝
  • 3. 自己紹介 ● 䛿䜎䛨 䠄@HmjKRS䠅 ○ ᮶ᰨᕝ㟁⟬ ♫ෆ䝙䞊䝖 ○ ඖ䜲䞁䝣䝷ᢸᙜ → ㄆ㆑⣔䜶䞁䝆䝙䜰ぢ⩦䛔 ○ Chef, Vagrant, docker 䜢ᗈ䜑䜘䛖䛸䛧䛯ே ○ ኚ䛺䛣䛸䛜ዲ䛝 Jenkins ⏝䛾 docker 䝥䝷䜾䜲䞁䜢᭩䛔䛶䚸 docker 䜢䛴䛛䛳䛯 CI ⎔ቃ䜢ᵓ⠏䞉㐠⏝䛧䛶䜎䛧䛯䚹
  • 4. 今日の目的 docker 䛣䜟䛟䛺䛔䚹 䜒䛳䛸㌟㏆䛻ឤ䛨䛶䜋䛧䛔䚹
  • 5. 今日やること ● CentOS 䛷 docker 䜢ゐ䛳䛶䜏䜛 ● docker 䛷䝔䝖䝸䝇䛩䜛 ● docker 䛷౑䛔ᤞ䛶䝣䜯䜲䝹䝃䞊䝞䞊䜢❧䛶䜛 ● fig 䛷䝁䞁䝔䝘䜢⟶⌮䛩䜛
  • 7. ソフトウェアとしての docker ● 䝁䞁䝔䝘ᆺ௬᝿໬ 䝝䜲䝟䞊䝞䜲䝄ᆺ䛸ẚ㍑䛧䛶㍍㔞䞉㧗㏿ ● Infrastructure as Code 䛾䝃䝫䞊䝖 Dockerfile 䛛䜙䜲䝯䞊䝆䜢෌⌧䛷䛝䜛 ● 䜲䝯䞊䝆䛾ᕪศ⟶⌮ git 䛾䜘䛖䛻䜲䝯䞊䝆䜢⟶⌮ 䜲䝯䞊䝆䛿䝸䝫䝆䝖䝸䛻 commit 䛧䛶ඹ᭷䛷䛝䜛
  • 8. docker の目指す世界 䜰䝥䝸䜿䞊䝅䝵䞁䛾ḟୡ௦䝥䝷䝑䝖䝣䜷䞊䝮 ● docker 䛥䛘ື䛡䜀䛒䜙䜖䜛䜰䝥䝸䜿䞊䝅䝵䞁䛜ື䛟 䛩䜉䛶䛾䜰䝥䝸䜿䞊䝅䝵䞁䛿䝁䞁䝔䝘ୖ䛷ື䛟 䝩䝇䝖䝬䝅䞁䛾⎔ቃ䛻䛿౫Ꮡ䛧䛺䛔 ● 䜰䝥䝸䜿䞊䝅䝵䞁䜢㓄ᕸ䛩䜛᫬௦䛾⤊ᖥ docker 䜲䝯䞊䝆䜢㓄ᕸ䛩䜛᫬௦䜈
  • 10. CentOS 6 系 ■ kernel 3.8 ௨㝆䛻᭦᪂ # yum -y install bc # curl -L -O https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.10.tar.bz2 # tar xfj linux-3.10.tar.bz2 # cd linux-3.10 # cp /boot/config-$(uname -r) .config && yes "" | make oldconfig # make && make modules_install && make install # sed -ie 's/^default=1/default=0/' /etc/grub.conf ■ docker 䜲䞁䝇䝖䞊䝹 # sed -ie 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config # yum -y install http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # yum -y install docker-io lxc # sed -ie 's/^other_args=/other_args="--exec-driver lxc --selinux-enabled"/' /etc/sysconfig/docker # usermod -G docker vagrant # service docker start # chkconfig docker on docker 1.3 䛛䜙ྂ䛔 kernel 䛷䛿 ㉳ື䛷䛝䛺䛟䛺䛳䛯䚹
  • 11. CentOS 7 系 ■ docker 䜲䞁䝇䝖䞊䝹 # yum install docker # usermod -G docker vagrant # systemctl start docker.service # systemctl enable docker.service ௨๓䛿 /usr/lib/systemd/system/docker.service 䛻 䝞䜾䛜䛒䛳䛯䛜䚸⌧ᅾ䛿ゎᾘ䛥䜜䛶䛔䜛
  • 12. インストールしたらやること docker 䜢䜲䞁䝇䝖䞊䝹䛧䛯䜙 䜎䛪᭱ึ䛻↓䛾䝁䝬䞁䝗䜢ᐇ⾜䛩䜛䛸ᖾ䛫䛻䛺䜜䜎䛩䚹 $ docker run -it --rm supertest2014/nyan
  • 15. docker 䜢䛴䛛䛳䛶 䛣䛳䛭䜚䝔䝖䝸䝇䛩䜛 ୖྖ䛻䝞䝺䛺䛔䜘䛖䛻⑞㊧䜢ṧ䛥䛪䛻㐟䜌䛖
  • 16. テトリスができるイメージをつくろう ● ౑⏝䛩䜛 Dockerfile $ cd /vagrant $ cat ./bastet/Dockerfile FROM ubuntu:14.10 RUN echo 'deb http://us.archive.ubuntu.com/ubuntu precise main universe' >> /etc/apt/sources.list RUN apt-get update RUN apt-get install -y bastet ENTRYPOINT /usr/games/bastet ● 䜲䝯䞊䝆䛾䝡䝹䝗 $ docker build -t hamaji/bastet ./bastet
  • 17. コンテナを起動してみよう ● ↓ 䛾䝁䝬䞁䝗䜢ᐇ⾜ $ docker run -it --rm hamaji/bastet ● 䝔䝖䝸䝇䛷䛝䜛䜘 䜹䞊䝋䝹䜻䞊䠖⛣ື 䝇䝨䞊䝇䜻䞊䠖ᅇ㌿
  • 18. インベーダーも “bastet” 䛾㒊ศ䜢 “ninvaders” 䛻ኚ䛘䜛䛸 䜲䞁䝧䞊䝎䞊䜒䛣䛳䛭䜚㐟䜉䜛
  • 19. docker 䜢䛴䛛䛳䛶 䝣䜯䜲䝹䝃䞊䝞䞊䜢❧䛶䜛 䝁䝬䞁䝗䜂䛸䛴䛷䜹䝺䞁䝖䝕䜱䝺䜽䝖䝸䜢 Samba 䛷බ㛤䛷䛝䛯䜙౽฼䛰䜘䛽
  • 20. Samba を立てるイメージをつくろう ● ౑⏝䛩䜛 Dockerfile $ cat ./samba/Dockerfile FROM centos:centos6 RUN yum -y install samba RUN mkdir -p /var/samba ADD smb.conf /etc/samba/smb.conf EXPOSE 139 445 ENTRYPOINT smbd --daemon --foreground --log-stdout ● 䜲䝯䞊䝆䛾䝡䝹䝗 $ docker build -t hamaji/samba ./samba
  • 21. コンテナを起動してみよう ● බ㛤䛧䛯䛔䝕䜱䝺䜽䝖䝸䛻⛣ື䛧䛶 ↓ 䛾䝁䝬䞁䝗䜢ᐇ⾜ $ docker run -p 139:139 -p 445:445 -v $(pwd):/var/samba -d --name samba hamaji/samba ● Web 䝤䝷䜴䝄䛷 ↓ 䛻䜰䜽䝉䝇 smb://<䝩䝇䝖䝬䝅䞁䛾IP䜰䝗䝺䝇>/public ● ‶㊊䛧䛯䜙 ↓ 䛾䝁䝬䞁䝗䛷⤊஢ $ docker kill samba
  • 22. Web サーバーも簡単に ྠ䛨䜘䛖䛺᪉ἲ䛷䜹䝺䞁䝖䝕䜱䝺䜽䝖䝸䜢 䝁䝬䞁䝗䜂䛸䛴䛷 http 䛷බ㛤䛩䜛䛣䛸䜒䛷䛝䜛
  • 23. fig 䜢䛴䛛䛳䛶 䝁䞁䝔䝘䜢⟶⌮䛧䜘䛖 docker run 䝁䝬䞁䝗䛳䛶↓㥏䛻㛗䛔䛧䚸 䝫䞊䝖䜔䝬䜴䞁䝖ඖ䛿ᅛᐃ໬䛧䛯䛔䜘䛽
  • 24. fig の何がうれしいか ● ⣲䛾 docker 䝁䝬䞁䝗䛿㛗䛔䛧䚸㛫㐪䛘䜔䛩䛔 $ docker run -p 139:139 -p 445:445 -v $(pwd):/var/samba -d --name samba hamaji/samba 䛹䛾䝁䞁䝔䝘䛻䛹䛾䝫䞊䝖䜢䝞䜲䞁䝗䛩䜛䛛䚸 䛹䛾䝕䜱䝺䜽䝖䝸䜢䝬䜴䞁䝖䛩䜛䛛䛿ᡭ㡰᭩䛷⟶⌮䛩䜛䛧䛛䛺䛔䚹 ● fig 䛺䜙䝁䞁䝔䝘䛾タᐃ䜢䝣䜯䜲䝹䛻᭩䛔䛶䛚䛡䜛 $ fig up fig.yml 䛻䝫䞊䝖䜔䝬䜴䞁䝖䛩䜛䝕䜱䝺䜽䝖䝸䜢᭩䛔䛶䛚䛡䜛䚹 fig.yml 䛜䛒䜜䜀䚸䛒䛸䛿䝁䝬䞁䝗䛯䛯䛟䛰䛡䚹
  • 25. fig のインストール ■ CentOS 6 ⣔ # yum -y install http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # yum -y install python-pip # pip install -U fig ■ CentOS 7 ⣔ # yum install epel-release # yum -y install python-pip # pip install -U fig
  • 26. fig.yml を書こう ● Samba 䝁䞁䝔䝘䛾 fig.yml $ cat ./samba/fig.yml samba: build: ./ ports: - 139:139 - 445:445 volumes: - /vagrant:/var/samba
  • 27. fig でコンテナを制御しよう ● 䝁䞁䝔䝘䛾⏕ᡂ䛸㉳ື $ fig up -d ● 䛒䛸䛿 --help 䛷 $ fig --help