SlideShare a Scribd company logo
Docker 入門
NaITE #13
2016.4.27
自己紹介
名前:角田 俊(つのだ しゅん)
コミュニティ:NaITE など
Twitter:いむてん@imtnd
勤務先:通信系製造業
業務:ソフトウェア開発 5年目
Docker入門
本セッションの目的
Dockerをなんとなく理解する
Dockerを最低限使えるようになる
Docker
Dockerについて
Dockerとは、仮想化技術の一つ
コンテナという単位で仮想化することにより
、OSなどに依存しないシステムを提供
Dockerについて
Virtual Machine container
https://www.docker.com/what-docker
Dockerのメリット
VMと違い軽量であり、起動、終了が高速で
ある
CIなどで使い捨てながらクリーンな環境でテ
ストすることができる
パッケージイメージが共有でき、すぐに使用
する仕組みがある
Docker Toolbox
Docker Toolbox
Dockerに関連するツールがパッケージ化され
たもの
Docker Engine
Docker Machine
Docker Compose
Kitematic
Dockerのインストール方
法
Cent OS 7 以上
yum でインストール可能
Ubuntu 15.04 以上
パッケージを追加して、apt-getでインスト
ール可能
https://docs.docker.com/engine/installation/linux/ubuntulinux/
Dockerのインストール方
法
コンテナ専用OS
https://coreos.com/using-coreos/containers/
Dockerのインストール方
法
コンテナ専用OS
CoreOS
Project Atomic
Red Hat Enterprise Linux Atomic Host
Snappy Ubuntu Core
Dockerのインストール方
法
Windows、Mac OSの場合
Virtual Box
Docker Toolbox
※ 2016/04/27現在のメジャーな方法
Dockerのインストール方
法
MacOSとWindowsのネイティブ仮想化を用いた
Docker純正ツール「Docker for Mac/Windows」登場、
VirtualBoxは不要に
http://www.publickey1.jp/blog/16/docker_for_macwindows.html
Windows、Mac OSで何も考えないでインス
トールすると、VIrtual Box上に”default”とい
う仮想マシンができている
Linuxの場合はコマンドで、Docker用の仮想
マシンを作成する
Dockerのインストール方
法
Docker Machine
Docker Machine
Docker ホストをマネジメントするツール
Docker ホストの作成
Docker ホストの起動
Docker ホストの終了 など
Docker Machineコマンド
Docker MachineをVirtual Box上に作成
Docker Machineの削除
$docker-machine create —driver virtualbox vmD(仮想マシン名)
$docker-machine rm vmD(仮想マシン名)
Docker Machineコマンド
Dockerホストの起動
Dockerホストの終了
Dockerホストの一覧表示
$docker-machine start default(仮想マシン名)
$docker-machine stop default(仮想マシン名)
$docker-machine ls
Docker Machineコマンド
DockerホストのIPアドレス確認
Dockerホストへのログイン
Dockerホストの環境変数確認
$docker-machine ip default(仮想マシン名)
$docker-machine ssh default(仮想マシン名)
$docker-machine env default(仮想マシン名)
Dockerコマンド
Dockerのイメージの取得
$docker pull centos:centos6
リポジトリ名 タグ
Dockerコマンド
$docker pull centos:centos6
Dockerレジストリに
公開された
Dockerイメージ
pull
Dockerレジストリ
Dockerレジストリとは、Dockerのイメージを
管理しておく場所
公式で用意しているDockerレジストリは
Docker Hub
https://hub.docker.com/
Dockerコマンド
Docker イメージの一覧表示
Docker イメージの削除
$docker images
$docker rmi centos:centos6(リポジトリ名:タグ)
Dockerコマンド
Cent OSのDockerイメージを動かしてみる
$docker run -t -i —name centos centos:centos6 /bin/bash
コンテナ名を付けられる
Dockerコマンド
Docker コンテナの一覧表示
Docker コンテナの削除
$docker ps -a
$docker rm centos6(コンテナ名)
Dockerコマンド
nginx(エンジンエックス)のイメージ取得
ポートに割り付けて起動
$docker pull nginx:latest
$docker run -d -p 8080:80 —name nginx nginx:latest
Webサーバを動かしてみる
Dockerコマンド
Docker コンテナの終了
Docker コンテナの起動
$docker stop nginx(コンテナ名)
$docker start nginx(コンテナ名)
Dockerfile
Dockerfileとは、Dockerイメージを作成する
元となるファイル
makeファイルのような物で、一コマンドで
Dockerイメージが作成出来る
簡単に記述でき、見た目も理解しやすいのが
特徴
Dockerfile
Dockerfileサンプル
$git clone https://github.com/imtnd/httpd.git
httpd
+- Dockerfile
+- index.html
※ Gitがない人はブラウザから直接アクセス
Dockerfile
httpdディレクトリに移動
$cd httpd
Dockerfileを元にDockerイメージの作成
$docker build -t httpd ./
Dockerfile
コンテナの起動
$docker run -d -p 80:80 httpd(リポジトリ名)
ブラウザでホストのIPアドレスにアクセスし
てみると、”hello docker”と見える
Dockerfile
FROM	 centos:centos6
MAINTAINER	 imtnd
RUN	 yum	 install	 -y	 httpd
ADD	 index.html	 /var/www/html/index.html
EXPOSE	 80/tcp
CMD	 ["/usr/sbin/httpd","-D","FOREGROUND"]
Dockerfile
FROM	 centos:centos6
MAINTAINER	 imtnd
RUN	 yum	 install	 -y	 httpd
ADD	 index.html	 /var/www/html/index.html
EXPOSE	 80/tcp
CMD	 ["/usr/sbin/httpd","-D","FOREGROUND"]
ベースのDockerイメージ
Dockerfile
FROM	 centos:centos6
MAINTAINER	 imtnd
RUN	 yum	 install	 -y	 httpd
ADD	 index.html	 /var/www/html/index.html
EXPOSE	 80/tcp
CMD	 ["/usr/sbin/httpd","-D","FOREGROUND"]
Dockerイメージ作成者
Dockerfile
FROM	 centos:centos6
MAINTAINER	 imtnd
RUN	 yum	 install	 -y	 httpd
ADD	 index.html	 /var/www/html/index.html
EXPOSE	 80/tcp
CMD	 ["/usr/sbin/httpd","-D","FOREGROUND"]
コマンドの実行指示
Dockerfile
FROM	 centos:centos6
MAINTAINER	 imtnd
RUN	 yum	 install	 -y	 httpd
ADD	 index.html	 /var/www/html/index.html
EXPOSE	 80/tcp
CMD	 ["/usr/sbin/httpd","-D","FOREGROUND"]
ファイルの追加指示
Dockerfile
FROM	 centos:centos6
MAINTAINER	 imtnd
RUN	 yum	 install	 -y	 httpd
ADD	 index.html	 /var/www/html/index.html
EXPOSE	 80/tcp
CMD	 ["/usr/sbin/httpd","-D","FOREGROUND"]
ポート番号の登録
Dockerfile
FROM	 centos:centos6
MAINTAINER	 imtnd
RUN	 yum	 install	 -y	 httpd
ADD	 index.html	 /var/www/html/index.html
EXPOSE	 80/tcp
CMD	 ["/usr/sbin/httpd","-D","FOREGROUND"]
コンテナ起動時の
実行コマンド指示
Docker Compose
Docker Compose
コンテナはサービス単位で構築していくと管
理が楽になる(アプリ、DBなど)
サービスは複数のコンテナによって構築され
ることになるため一括で管理する必要がある
複数のコンテンを管理出来る仕組みが、
Docker Compose
Docker Compose
Docker Composeは、YMLファイルでコンテナを管理
する
YMLファイルサンプル(TestLinkというサービスが動く)
$git clone https://github.com/imtnd/testlink_yml.git
※ Gitがない人はブラウザから直接アクセス
Docker Compose
YMLファイルを元にサービスを起動
コンテナの状態確認
$docker-compose up -d
$docker-compose ps
下記アドレスにブラウザからアクセルできる
http://xxx.xxx.xxx.xxx(ホストのIPアドレス)/testlink/
初期設定などは下記サイトを参照
http://qiita.com/imtnd/items/a58a707db08c3710d963
Docker Compose
サービスの停止
$docker-compose stop
一コマンドで、MySQL、TestLinkのサービス
のコンテナが起動してる。
busyboxというのは、データを永続化するた
めのコンテナ
Docker Compose
Docker hubにあるイメージを使用すると面倒
くさいインフラ構築をしないで、環境をセッ
トアップすることができる。
興味を持ったツールを簡単に使用してみたい
時などに最適
(ツール名) docker compose
その他ツール
Docker Swarm
Docker Registory
Kitematic
コンテナ関連サービス
tutum Kubernates
最後に
Docker はまだまだまだまだ発展途中なツー
ルです。
このスライドの情報も過去の物になっていき
ます。
発展途中であるが故に、最新動向を追ってみ
ると面白いと思います。
Let’s Run Container

More Related Content

PDF
Docker入門 - 基礎編 いまから始めるDocker管理
PPTX
Dockerが抱えるネットワークの課題
PDF
オトナのDocker入門
PDF
コンテナ導入概要資料2018
PPTX
Dockerの基本的な話
PDF
Docker実践入門
PDF
8a1#19[はじめてのdocker] 公開版
PDF
Dockerで開発環境をデリバる
Docker入門 - 基礎編 いまから始めるDocker管理
Dockerが抱えるネットワークの課題
オトナのDocker入門
コンテナ導入概要資料2018
Dockerの基本的な話
Docker実践入門
8a1#19[はじめてのdocker] 公開版
Dockerで開発環境をデリバる

What's hot (20)

PPTX
貧乏人でも出来るお手軽docker
PPTX
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
PPTX
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
PDF
CNCF Updates 2019 Winter version and Knative
PDF
Docker道場オンライン#1 Docker基礎概念と用語の理解
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
PPTX
CAMPHOR- day 2020 - Docker 超入門
PPTX
本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン
PDF
Dockerを支える技術
PDF
Docker 9 tips~意外と知られていない日常で役立つ便利技
PDF
Docker基礎+docker0.9, 0.10概要
PDF
忙しい人の5分で分かるDocker 2017年春Ver
PDF
Docker ComposeでMastodonが必要なものを梱包する話
PDF
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
PPTX
Docker Tokyo
PPTX
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
PDF
Docker技術情報アップデート 2015年7月号
PDF
Dockerfile を書くためのベストプラクティス解説編
PDF
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
PDF
Dockerイメージ管理の内部構造
貧乏人でも出来るお手軽docker
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
CNCF Updates 2019 Winter version and Knative
Docker道場オンライン#1 Docker基礎概念と用語の理解
コンテナの作り方「Dockerは裏方で何をしているのか?」
CAMPHOR- day 2020 - Docker 超入門
本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン
Dockerを支える技術
Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker基礎+docker0.9, 0.10概要
忙しい人の5分で分かるDocker 2017年春Ver
Docker ComposeでMastodonが必要なものを梱包する話
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Docker Tokyo
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
Docker技術情報アップデート 2015年7月号
Dockerfile を書くためのベストプラクティス解説編
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
Dockerイメージ管理の内部構造
Ad

Similar to Docker入門 (20)

PDF
Docker 入門
PPTX
初心者が伝えるDocker超入門
PDF
Dockerことはじめ的なはなし
PDF
Docker入門: コンテナ型仮想化技術の仕組みと使い方
PDF
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
PDF
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
PPTX
Docker勉強会
PDF
Docker 基本のおさらい
PPTX
Notes/Domino エンジニアのための Docker 超入門
PPTX
Docker study for beginner in My Company 2017/10/19
PDF
Docker社内勉強会
PDF
ゆるふわなDockerの使い方
PPTX
Dockerについて【勉強会資料】
PPTX
コンテナの基本 ~Docker実践~
PDF
Docker超入門
PPTX
Docker超入門
PDF
Docker事始めと最新動向 2015年6月
PDF
コンテナ on Windows
PDF
DockerとDocker Hubの操作と概念
PPTX
Microsoft Azure で 初めてのDocker
Docker 入門
初心者が伝えるDocker超入門
Dockerことはじめ的なはなし
Docker入門: コンテナ型仮想化技術の仕組みと使い方
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker勉強会
Docker 基本のおさらい
Notes/Domino エンジニアのための Docker 超入門
Docker study for beginner in My Company 2017/10/19
Docker社内勉強会
ゆるふわなDockerの使い方
Dockerについて【勉強会資料】
コンテナの基本 ~Docker実践~
Docker超入門
Docker超入門
Docker事始めと最新動向 2015年6月
コンテナ on Windows
DockerとDocker Hubの操作と概念
Microsoft Azure で 初めてのDocker
Ad

Docker入門