Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
KM
Uploaded by
Keita Midorikawa
349 views
Docker入門
Dockerの入門資料です。
Software
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 30
2
/ 30
3
/ 30
4
/ 30
5
/ 30
6
/ 30
7
/ 30
8
/ 30
9
/ 30
10
/ 30
11
/ 30
12
/ 30
13
/ 30
14
/ 30
15
/ 30
16
/ 30
17
/ 30
18
/ 30
19
/ 30
20
/ 30
21
/ 30
22
/ 30
23
/ 30
24
/ 30
25
/ 30
26
/ 30
27
/ 30
28
/ 30
29
/ 30
30
/ 30
More Related Content
PDF
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
by
Masahito Zembutsu
PDF
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
by
Kunihiro TANAKA
PDF
Docker 基本のおさらい
by
Naoki Nagazumi
PDF
Dockerイメージ構築 実践テクニック
by
Emma Haruka Iwao
PDF
コンテナ型仮想化とはなんだったのか
by
えむ ばーど
PDF
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
by
Masahito Zembutsu
PDF
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
by
Masahito Zembutsu
PPTX
Docker超入門
by
VirtualTech Japan Inc.
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
by
Masahito Zembutsu
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
by
Kunihiro TANAKA
Docker 基本のおさらい
by
Naoki Nagazumi
Dockerイメージ構築 実践テクニック
by
Emma Haruka Iwao
コンテナ型仮想化とはなんだったのか
by
えむ ばーど
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
by
Masahito Zembutsu
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
by
Masahito Zembutsu
Docker超入門
by
VirtualTech Japan Inc.
What's hot
PDF
Docker超入門
by
Katsunori Kanda
PDF
Dockerクイックツアー
by
Etsuji Nakai
PDF
Docker社内勉強会
by
osamu_takezawa
PPTX
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
by
Masaomi Kudo
PPTX
【社内勉強会】Docker入門
by
Kazuki Murahama
PDF
JAWS-UG コンテナ支部 Docker入門 ハンズオン
by
Ryo Nakamaru
PDF
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
by
Masahito Zembutsu
PDF
そろそろ知っておきたい!!コンテナ技術とDockerのキホン
by
Naoki Nagazumi
PDF
Docker hands on nifty sakura jul19
by
Masahito Zembutsu
PDF
Docker最新動向2017秋+セキュリティの落とし穴
by
Masahito Zembutsu
PPTX
Docker入門~word press環境を作ってみる ハンズオン編 ver1.4~ pulic
by
cyberblack28 Ichikawa
PDF
今だからこそ知りたい Docker Compose/Swarm 入門
by
Masahito Zembutsu
PPTX
DockerをRed Hatはどのように見ているのか
by
Emma Haruka Iwao
PPTX
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
by
VirtualTech Japan Inc.
PDF
爆速プレビュープロキシ pool
by
mookjp
PDF
Docker Swarm モード にゅうもん
by
Masahito Zembutsu
PDF
Docker Compose 徹底解説
by
Masahito Zembutsu
PDF
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
by
Emma Haruka Iwao
PDF
DockerでWordPressサイトを開発してみよう
by
mookjp
PDF
Docker ComposeでMastodonが必要なものを梱包する話
by
Masahito Zembutsu
Docker超入門
by
Katsunori Kanda
Dockerクイックツアー
by
Etsuji Nakai
Docker社内勉強会
by
osamu_takezawa
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
by
Masaomi Kudo
【社内勉強会】Docker入門
by
Kazuki Murahama
JAWS-UG コンテナ支部 Docker入門 ハンズオン
by
Ryo Nakamaru
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
by
Masahito Zembutsu
そろそろ知っておきたい!!コンテナ技術とDockerのキホン
by
Naoki Nagazumi
Docker hands on nifty sakura jul19
by
Masahito Zembutsu
Docker最新動向2017秋+セキュリティの落とし穴
by
Masahito Zembutsu
Docker入門~word press環境を作ってみる ハンズオン編 ver1.4~ pulic
by
cyberblack28 Ichikawa
今だからこそ知りたい Docker Compose/Swarm 入門
by
Masahito Zembutsu
DockerをRed Hatはどのように見ているのか
by
Emma Haruka Iwao
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
by
VirtualTech Japan Inc.
爆速プレビュープロキシ pool
by
mookjp
Docker Swarm モード にゅうもん
by
Masahito Zembutsu
Docker Compose 徹底解説
by
Masahito Zembutsu
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
by
Emma Haruka Iwao
DockerでWordPressサイトを開発してみよう
by
mookjp
Docker ComposeでMastodonが必要なものを梱包する話
by
Masahito Zembutsu
Similar to Docker入門
PPTX
Docker入門
by
iPride Co., Ltd.
PPTX
今さら聞けない人のためのDocker超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのDocker超入門 - KOF
by
VirtualTech Japan Inc.
PPTX
今さら聞けない人のためのDocker超入門
by
Toru Miyahara
PPTX
Docker入門 OSC 2018 Tokyo/Spring
by
cyberblack28 Ichikawa
PDF
Dockerでらくらく開発・運用を体感しよう
by
Takashi Makino
PPTX
いまさら聞けないDockerコンテナ超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
Docker v14
by
靖 小田島
PPTX
Docker & Kubernetes基礎
by
Daisuke Hiraoka
PPTX
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
by
VirtualTech Japan Inc.
PPTX
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
by
VirtualTech Japan Inc.
PDF
Docker入門: コンテナ型仮想化技術の仕組みと使い方
by
Yuichi Ito
PDF
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
by
Masahito Zembutsu
PDF
Docker handson
by
koda3
PDF
VagrantユーザのためのDocker入門
by
Masashi Shinbara
PDF
捕鯨!詳解docker
by
雄哉 吉田
PPTX
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
by
Naoki Nagazumi
PDF
DockerとDocker Hubの操作と概念
by
Masahito Zembutsu
PDF
Docker事始めと最新動向 2015年6月
by
Emma Haruka Iwao
PPTX
LinAction Theme Docker
by
cyberblack28 Ichikawa
Docker入門
by
iPride Co., Ltd.
今さら聞けない人のためのDocker超入門
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのDocker超入門 - KOF
by
VirtualTech Japan Inc.
今さら聞けない人のためのDocker超入門
by
Toru Miyahara
Docker入門 OSC 2018 Tokyo/Spring
by
cyberblack28 Ichikawa
Dockerでらくらく開発・運用を体感しよう
by
Takashi Makino
いまさら聞けないDockerコンテナ超入門
by
VirtualTech Japan Inc./Begi.net Inc.
Docker v14
by
靖 小田島
Docker & Kubernetes基礎
by
Daisuke Hiraoka
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
by
VirtualTech Japan Inc.
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
by
VirtualTech Japan Inc.
Docker入門: コンテナ型仮想化技術の仕組みと使い方
by
Yuichi Ito
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
by
Masahito Zembutsu
Docker handson
by
koda3
VagrantユーザのためのDocker入門
by
Masashi Shinbara
捕鯨!詳解docker
by
雄哉 吉田
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
by
Naoki Nagazumi
DockerとDocker Hubの操作と概念
by
Masahito Zembutsu
Docker事始めと最新動向 2015年6月
by
Emma Haruka Iwao
LinAction Theme Docker
by
cyberblack28 Ichikawa
Docker入門
1.
Docker入門 緑川 京太
2.
Dockerとは Linux上で独立したLinux環境を作ることができ るコンテナ型仮想化ソフトウェア コンテナ型仮想化とは... カーネルをホストと共有しつつ、ルートファイルシステムや、プロセス、 ネットワークなどの隔離された空間作ることで、仮想化を実現
3.
Dockerのライフサイクル1 DockerHub 保存 起動 アップロード ダウンロード コンテナ 起動した状態VM イメージ 停止した状態のVM リポジトリ いろんな人が作った イメージが保存 されている 編集
4.
DockerはClient/Serverアプリケーション Docker Client Docker
Server ● Docker Server (daemon) - 実際にコンテナを操作する ● Docker Client - CLIでサーバーに命令を与える 操作 命令 (CLI)
5.
Dockeのポリシー ● 一度作ったイメージはどこでも動く - 他のマシンでもDockerServerさえ動けば同じ環境を再現できる ● 一度作ったコンテナは変更しない - コンテナに変更を加えたら必ずイメージに固めてイメージから再起動 ●
1コンテナ1プロセスを推奨している - コンテナはできるだけ単純に作り、保守・スケールしやすいようにする (個人的には役割ごとにコンテナを分けるのがいいと思う)
6.
開発での便利さ ● リソースの少ないPCでも本番の環境を再現できる ● 失敗しても、前のバージョンに戻ることがができる ● スクラップ&ビルドが高速 ● ローカルのコンテナをそのままサーバーで動かせる ● メンバー同士で同じ環境を使うことができる ● SSHでログインしなくて良い
7.
コンテナとVMの違い ● VM (ハイパーバイザ型仮想化) ● ハイパーバイザー上で動作 ● ハードウェアまで仮想化 (nic,cpu,メモリ,カーネル) ●
OSはホストとは別物 ● コンテナ (コンテナ型仮想化) ● ホストOS(Linux)上で動作 (カーネルはホストと共有) ● ユーザ空間の資源を仮想化 (PID,UID,network,etc...) ハードウェア OS+ハイパーバイザ(kvm) OS App App VM ハードウェア OS OS App App VM App App コンテナ App App コンテナ
8.
VMのメリット・デメリット ● メリット ● 限りなく物理マシンと同じように使うことができる ● ホストのOSと全く別のOSをインストールできる - Linuxホスト上にwindowsのVMとかできる ●
VM上の操作はホストには影響しない ● デメリット ● 仮想化のオーバーヘッドが大きい ● 立ち上げに時間がかかる(isoから作ると30分程) ● CPUが仮想化に対応している必要がある(Intel VT , AMD-V)
9.
コンテナのメリット・デメリット ● メリット ● オーバーヘッドが少ない - 言ってしまえばただのプロセス ● 立ち上げが高速 ● 作る→捨てるが簡単 ● VM上でも動かせる ● デメリット ● ホストに欠陥があると全てのコンテナが影響を受ける -
カーネルをホストと共有しているため、カーネルパラメータやカーネルモジュール をコンテナ固有の設定にすることは出来ない。 ● ホストと共通のカーネルを利用できるOSのみ動作可 - Linuxホスト上にwindowsやMacとかはできない ハードウェア OS App App コンテナ App App コンテナ
10.
Dockerの中身 ● Dockerはkernelの機能の一部で実装されている chroot namespacecgroup 指定したディレクトリをルート ファイルシステムとする機能 プロセスごとに CPU、メモリな どのリソースを割り当てること ができる機能 ネットワーク,
PID, UID, GID, mnt などのリソースを区切ってお互いが 認識できないようにする その気になれば、これらの コマンドで、コンテナっぽい ものを作ることも可能
11.
chroot 指定したディレクトリをルートファイルシステムとする機能 (OSのイメージファイルなどを編集できて便利!) / /bin /usr /var
/mnt /bin /usr /var /etc sda1 sdb1 chroot /mnt bin/sh を実行すると、当該shellでは、 「/mnt」が「/」とみなされる 例えば、/mntに qcow2イメージ をマウントして。。。
12.
namespace リソースを区切って、 お互いが認識できないようにするもの (仮想ネットワークの実験でお世話になる) - IPC
: プロセス間通信リソースの分離 - mount : ファイルシステムツリーの分離 - network : ネットワークデバイス、IP、ルーティングテーブル、iptablesの分離 - PID : プロセスID空間の分離 - UID : UID・GIDの分離 - UTS : ホスト名 IPC mnt net PID UTSUID namespace_1 IPC mnt net PID UTSUID namespace_2 ※namespaceの実体は /proc/<PID>/ns配下に存在 1と2は同一ホスト内にあるにも関わらずお互いのユーザー、 プロセス、ネットワーク、マウントされているデバイスを認識できない
13.
cgroup プロセスごとに、CPUやメモリなどのリソースを割り当てる PID : 19 PID
: 1903 PID : 2567 PID : 905 PID : 21 PID : 193 PID : 2960 PID : 1576 メモリ4GB メモリ12GB ※実体は/sys/fs/cgroup配下に存在 同一ホストで動いているプロセスでもそれぞれ 割り当てられているメモリの上限が異なる
14.
Dockerのネットワーク docker0 コンテナ1 eth0 コンテナ3 eth0 eth0 コンテナ2 eth0 LinuxBridge 172.17.0.1 iptables(NAT) 172.17.0.2 172.17.0.3 172.17.0.4 ホスト
15.
Dockerのライフサイクル2 コンテナ イメージ リポジトリ DockerHub Dockerfile commit run push pull build rm
rmi 設計書 export import
16.
実際に触ってみる1 コンテナでWebサーバーあを立ててみる
17.
作るもの eth0 eth0 iptables(NAT) 172.17.0.2 ホスト:ubuntu14.04LTS 172.17.0.1 docker0 port : 80 port
: 10080 フォワーディング コンテナ:centos7.2
18.
インストール # ルートユーザーになる sudo su #
インストール wget -qO- http://get.docker.com/ | sh # インストールできたか確認 docker -v # ユーザーをdockerグループに追加 gpasswd -a <user-name> docker # グループに追加したユーザーでdockerが操作できるか確認 su - <user-name> docker ps
19.
イメージのダウンロード # イメージはdockerhubからダウンロード ブラウザでhttps://hub.docker.com/にアクセス # docker
pullでcentos:7をダウンロード docker pull centos:7 # ダウンロードされたことを確認 docker images イメージ リポジトリ DockerHub pull
20.
コンテナ起動 # ダウンロードしたイメージからコンテナを起動 docker run
-ti --name=demo centos:7 /bin/bash ※docker runのオプション -t : コンソールを割り当てる -i : detach状態でも標準入力を受け付ける --name : コンテナの名前 コンテナ イメージ run
21.
コンテナにnginxをインストール ■ここからコンテナ内の操作■ # コンテナのプロセスを確認 ps aux #
nginxをインストール yum check-update yum install -y http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release- centos-7-0.el7.ngx.noarch.rpm yum install -y --enablerepo=nginx nginx # nginx起動スクリプトを作成 vi start.sh ---- #!/bin/bash /usr/sbin/nginx while true; do sleep 10; done ---- chmod 755 start.sh ./start.sh& # 確認 ps aux curl localhost # コンテナをデタッチ exit ■ここまでコンテナ内の操作■
22.
コンテナをイメージ化 # コンテナが終了したことを確認 docker ps
-a # コンテナをイメージに固める docker commit demo demo_nginx # イメージを確認 docker images コンテナ イメージcommit
23.
イメージからコンテナを再起動 # イメージからhttpdのみ動いているコンテナを起動する docker run
-d --name=demo_nginx -p 10080:80 demo_nginx /start.sh # コンテナが起動しているか確認 docker ps # フォワーディングしたホストのポートにリクエストを投げる curl localhost:10080 ※docker runのオプション -d : コンテナをバックグラウンドで実行する -p <ホスト>:<コンテナ> : コンテナのポートをホストにフォワードする
24.
コンテナにアタッチ # バックグラウンドで動いているコンテナにアタッチする docker exec
-ti demo_nginx /bin/bash ■ここからコンテナ内の操作■ # プロセスを確認 ps aux # コンテナをデタッチ exit ■ここからコンテナ内の操作■ # コンテナを表示 docker ps # コンテナを停止する docker stop demo_nginx
25.
実際に触ってみる2 systemdでプロセスを管理するコンテナを作ってみる
26.
作るもの eth0 eth0 iptables(NAT) 172.17.0.2 ホスト:ubuntu14.04LTS 172.17.0.1 docker0 port : 80 port
: 8080 フォワーディング コンテナ:centos7.2 プロセスをsystemd で管理する
27.
Dockerfileを作成 # docker buildでsystemdで起動するイメージを作成する mkdir
dockerfile_test cd dockerfile_test vi Dockerfile -- FROM centos:7 ENV container docker RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $ {i}==systemd-tmpfiles-setup.service ] || rm -f $i; done); rm -f /lib/systemd/system/multi-user.target.wants/*; rm -f /etc/systemd/system/*.wants/*; rm -f /lib/systemd/system/local-fs.target.wants/*; rm -f /lib/systemd/system/sockets.target.wants/*udev*; rm -f /lib/systemd/system/sockets.target.wants/*initctl*; rm -f /lib/systemd/system/basic.target.wants/*; rm -f /lib/systemd/system/anaconda.target.wants/*; VOLUME [ "/sys/fs/cgroup" ] CMD ["/usr/sbin/init"] --
28.
Dockerfileからイメージをbuild # Dockerfile(設計書)からイメージをbuild docker build
--rm -t systemd ./ # イメージからコンテナを起動 docker run -d --name=systemd --privileged systemd docker ps # コンテナにアタッチ docker exec -ti systemd /bin/bash ※docker buildのオプション --rm : 中間イメージを削除する -t <image>[:<tag>] : イメージ名を指定する Dockerfile(設計書) build イメージ
29.
コンテナにapacheをインストール ■ここからコンテナ内の操作■ # systemdが起動しているか確認 ps aux #nginxをインストール yum
check-update yum install -y http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release- centos-7-0.el7.ngx.noarch.rpm yum install -y --enablerepo=nginx nginx # サービスを有効化&起動 systemctl enable nginx systemctl start nginx ps aux # リクエストを投げてみる curl localhost # コンテナをデタッチ exit ■ここまでコンテナ内の操作■
30.
コンテナをイメージに固めて再起動 # コンテナをイメージに固める docker stop
systemd docker commit systemd systemd_nginx # イメージからコンテナを再起動 docker run -d --name=systemd_nginx --privileged -p 8080:80 systemd_nginx docker ps # リクエストを投げてみる curl localhost:8080
Download