SlideShare a Scribd company logo
Docker超⼊⾨
2016.04.27
Presented By Katsunori Kanda (@potix2)
⽬次
1. インストール⽅法
2. Dockerを使ってみる
3. イメージを作る
4. Dockerを取り巻く環境
1. Dockerのインストール
(Mac OS X)
Dockerのインストール(Mac OS X)
$ brew install docker
$ brew install docker-machine
1.VirtualBoxのインストール
• https://www.virtualbox.org/wiki/Downloads
2.docker/docker-machineのインストール
docker-machineの初期化
$ docker-machine create --driver virtualbox default
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.XX.XXX:2376 v1.10.3
$ eval “$(docker-machine env default)”
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
dockerの実⾏環境
docker-machine管理のVM
DOCKER_HOSTclient
docker daemon
imagescontainers
192.168.XX.XXX:2376
イメージとコンテナ
• イメージ
• プログラム+実⾏環境(ファイルシステム)
• 例: redis, bash, nginx
• コンテナ
• 仮想実⾏環境
• イメージが読み込まれて実⾏される
2. Dockerを使ってみる
Hello World
$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
03f4658f8b78: Pull complete
a3ed95caeb02: Pull complete
Digest:
sha256:8be990ef2aeb16dbcb9271ddfe2610fa6658d13f6dfb8bc72074cc1ca36966a7
Status: Downloaded newer image for hello-world:latest
Hello from Docker.
(以下、省略)
Registry
(docker hub)
何が起こったか?
DOCKER_HOSTclient
docker daemon
imagescontainers
1. docker run hello-world
hello-world
2. pull
hello-world
3. download
4. load
5. exec
redisを実⾏してみる(1/2)
$ docker run -d --name myredis redis
$ docker exec -it myredis /bin/bash
# redis-cli info
myredisclient
redisを実⾏してみる(2/2)
$ docker run -d -p 6379 --name myredis2 redis
$ docker-machine ip default
192.99.XXX.XXX
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
42635bd006fd redis "docker-entrypoint.sh" 12 seconds ago Up 12 seconds
0.0.0.0:32771->6379/tcp myredis2
$ redis-cli -h 192.99.XXX.XXX -p 32771
myredis2client
port: 32771
port: 6379
3. イメージを作る
centos6ベースのredisイメージ作成(1/2)
FROM centos:centos6
RUN yum -y update
RUN yum -y install epel-release
RUN yum -y install redis
EXPOSE 6379
CMD [ "redis-server" ]
Dockerfile:
$ mkdir docker-myredis
$ cd docker-myredis
$ vi Dockerfile
centos6ベースのredisイメージ作成(2/2)
$ docker build -t myredis:centos6 .
(以下、動作確認)
$ docker images
$ docker run -d -p 6379 myredis:centos6
$ docker ps
$ redis-cli -h `docker-machine ip` -p 32768 info
Dockerfile
• FROM: ベースイメージを指定
• RUN: コマンドを実⾏する
• ADD: イメージへファイルを追加
• CMD: runしたときに実⾏されるコマンド
• EXPOSE: コンテナ外へポートを公開
• 詳しくは、
• https://docs.docker.com/engine/
reference/builder/
Dockerfileの意味
FROM centos:centos6
RUN yum -y update
RUN yum -y install epel-release
RUN yum -y install redis
EXPOSE 6379
CMD [ "redis-server" ]
FROM
RUN
RUN
RUN
EXPOSE
CMD
1コマンドが1レイヤーに対応する
Dockerfileの意味
FROM
RUN
EXPOSE
CMD
意味のあるまとまりで⼀つのコマンドにまとめる
FROM centos:centos6
RUN yum -y update && 
yum -y install epel-release && 
yum -y install redis
EXPOSE 6379
CMD [ "redis-server" ]
4. Dockerを取り巻く環境
docker-compose
• 複数のコンテナを同時に操作するためのツール
• ローカル開発環境はこれでほぼ⾜りる
• YAMLで設定を書くだけ
コンテナ管理
• docker-swarm
• gke(kubernetes)
• ecs
• shipyard
• nomad

More Related Content

PDF
Dockerについて
PDF
オトナのDocker入門
PDF
Dockerイメージ構築 実践テクニック
PDF
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
PPTX
【社内勉強会】Docker入門
PDF
DockerでWordPressサイトを開発してみよう
PDF
Docker入門
PDF
Docker ComposeでMastodonが必要なものを梱包する話
Dockerについて
オトナのDocker入門
Dockerイメージ構築 実践テクニック
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
【社内勉強会】Docker入門
DockerでWordPressサイトを開発してみよう
Docker入門
Docker ComposeでMastodonが必要なものを梱包する話

What's hot (20)

PDF
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
PDF
爆速プレビュープロキシ pool
PDF
Docker hands on nifty sakura jul19
PDF
JAWS-UG コンテナ支部 Docker入門 ハンズオン
PDF
Docker社内勉強会
PDF
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
PPTX
Docker入門~word press環境を作ってみる ハンズオン編 ver1.4~ pulic
PPTX
Docker超入門
PDF
Docker最新動向2017秋+セキュリティの落とし穴
PDF
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
PDF
Dockerクイックツアー
PPTX
15分で分か(った気になれ)るDocker
PDF
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
PDF
Docker Swarm入門
PDF
Docker Swarm モード にゅうもん
PPTX
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
PDF
清貧Docker ~個人がDockerを使う理由~
PDF
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
PDF
Docker 基本のおさらい
PPTX
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
爆速プレビュープロキシ pool
Docker hands on nifty sakura jul19
JAWS-UG コンテナ支部 Docker入門 ハンズオン
Docker社内勉強会
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
Docker入門~word press環境を作ってみる ハンズオン編 ver1.4~ pulic
Docker超入門
Docker最新動向2017秋+セキュリティの落とし穴
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
Dockerクイックツアー
15分で分か(った気になれ)るDocker
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker Swarm入門
Docker Swarm モード にゅうもん
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
清貧Docker ~個人がDockerを使う理由~
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker 基本のおさらい
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
Ad

Viewers also liked (20)

PDF
閉域網接続の技術入門
PDF
データセンター事業とIT社会の今後 ~コンピューティングの役割とその変化~(第4回 データセンター展【秋】)
PDF
情報編集 (web) 第4回:HTML入門 3 情報を整理する - リスト、テーブル
PDF
Java の Collection 関連について整理してみました
PDF
プログラミング超超超入門
PPTX
Google検索だけで満足しない、一歩先をいく収集・整理術(1day)
PDF
僕のデスクトップ整理方法
PDF
データを整理するための基礎知識
PPTX
再入門、サーバープッシュ技術
PDF
201412ことばの理解とワーキングメモリ:基本概念の整理(公開)
PDF
再入門!RESTとSpringMVC
PDF
大規模DCのネットワークデザイン
PPTX
SSL入門
PPT
Javaバイトコード入門
PPTX
HTTP/2入門
PDF
とある情報の超整理術
PDF
Jbatch実践入門 #jdt2015
PDF
ゼロからはじめるKVM超入門
PDF
Apache Solr 検索エンジン入門
PDF
負荷試験入門公開資料 201611
閉域網接続の技術入門
データセンター事業とIT社会の今後 ~コンピューティングの役割とその変化~(第4回 データセンター展【秋】)
情報編集 (web) 第4回:HTML入門 3 情報を整理する - リスト、テーブル
Java の Collection 関連について整理してみました
プログラミング超超超入門
Google検索だけで満足しない、一歩先をいく収集・整理術(1day)
僕のデスクトップ整理方法
データを整理するための基礎知識
再入門、サーバープッシュ技術
201412ことばの理解とワーキングメモリ:基本概念の整理(公開)
再入門!RESTとSpringMVC
大規模DCのネットワークデザイン
SSL入門
Javaバイトコード入門
HTTP/2入門
とある情報の超整理術
Jbatch実践入門 #jdt2015
ゼロからはじめるKVM超入門
Apache Solr 検索エンジン入門
負荷試験入門公開資料 201611
Ad

Similar to Docker超入門 (20)

PDF
Docker実践入門
PPTX
Dockerでlamp環境を作って見る
PPTX
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
PDF
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
PDF
Dockerの導入
PPTX
Dockerハンズオン
PDF
ゆるふわなDockerの使い方
PDF
Dockerハンズオン
PDF
DockerとDocker Hubの操作と概念
PDF
Docker講習会資料
PDF
Docker handson
PDF
Docker for Windows & Web Apps for Containers 実践活用技法
PDF
DockerでAlmaLinux(web, php, pukiwiki)環境構築
PPTX
ラズパイ2で動く Docker PaaSを作ってみたよ
PDF
Docker やってみた
PDF
Dockerイメージを作る
PPTX
2019年度 CaaS ワークショップ @ NTTコム
PDF
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
PDF
Webアプリケーション開発者のためのDockerハンズオン
PDF
オンプレでPrivate Registry使ったDockerイメージの運用について
Docker実践入門
Dockerでlamp環境を作って見る
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerの導入
Dockerハンズオン
ゆるふわなDockerの使い方
Dockerハンズオン
DockerとDocker Hubの操作と概念
Docker講習会資料
Docker handson
Docker for Windows & Web Apps for Containers 実践活用技法
DockerでAlmaLinux(web, php, pukiwiki)環境構築
ラズパイ2で動く Docker PaaSを作ってみたよ
Docker やってみた
Dockerイメージを作る
2019年度 CaaS ワークショップ @ NTTコム
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Webアプリケーション開発者のためのDockerハンズオン
オンプレでPrivate Registry使ったDockerイメージの運用について

More from Katsunori Kanda (14)

PDF
Airflow 2.0 migration ガイド
PDF
Web Privacy Survival Guide
PDF
Airflowを広告データのワークフローエンジンとして運用してみた話
PPTX
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
PDF
GCSでstatic web hosting
PDF
Dockerだけではないコンテナのはなし
PDF
RealSenseを使ってCrazyflieを自律飛行させてみた
PDF
KINECT WITH ROS
PPTX
Hadoopことはじめ
PDF
データファースト開発
PDF
Spark Summit 2015 参加報告
PDF
20150207 何故scalaを選んだのか
PDF
Discretized Streams: Fault-Tolerant Streaming Computation at Scaleの解説
KEY
自動テストのすすめ
Airflow 2.0 migration ガイド
Web Privacy Survival Guide
Airflowを広告データのワークフローエンジンとして運用してみた話
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
GCSでstatic web hosting
Dockerだけではないコンテナのはなし
RealSenseを使ってCrazyflieを自律飛行させてみた
KINECT WITH ROS
Hadoopことはじめ
データファースト開発
Spark Summit 2015 参加報告
20150207 何故scalaを選んだのか
Discretized Streams: Fault-Tolerant Streaming Computation at Scaleの解説
自動テストのすすめ

Docker超入門