SlideShare uma empresa Scribd logo
1 de 43
Docker入門
OSC2018 Tokyo/Spring 2.24
cyberblack28
Profile
Twitter:cyberblack28
Job
Infrastructure Engineer
Frontend Engineer
Educational Solutions Architect
Community
Hobby1: Music,Live,FES !!
Hobby2: Take a picture !!
https://www.flickr.com/photos/cyberblack
ISBN-10: 4798155373
ISBN-13: 978-4798155371
第6章 Rancher2.0の
部分を執筆しました。
2018年3月15日発売
• サーバ仮想化について
• Dockerの基礎技術~Linuxコンテナー~
• Dockerとは?
• Dockerの基礎技術~Dockerイメージ~
• Dockerハンズオン~WordPressの環境作成~
• 参考図書・資料
• Dockerのインストール
• Docker Hubからコンテナーイメージのpull
• コンテナーの起動
• 起動したコンテナーの確認
• コンテナーとホストLinuxとの切替
• コンテナーの起動と停止
• DockerfileからWordPress環境作成
• コンテナーのcommit
• コンテナーイメージをDocker Hubにpush
• コンテナーのライフサイクル
3
アジェンダ
前半
• 複数コンテナー
• Docker Compose
• docker-compose.ymlの内容
• .envファイルの内容
• 主なコマンド
後半
サーバ仮想化について
①非仮想化環境
4
物理ハードウェア
OS
アプリケーション
サーバ仮想化について
5
物理ハードウェア
ホストOS
仮想化アプリケーション
仮想マシンA
アプリケーション
ゲストOS
仮想マシンB
アプリケーション
ゲストOS
仮想マシンC
アプリケーション
ゲストOS
②ホストOS型仮想
ホストOS上の仮想化アプリケーション上で仮想マシンを稼働
させる。
VMware Workstation、Microsoft VirtualPC、VirtualBox
サーバ仮想化について
6
物理ハードウェア
ハイパーバイザー
仮想マシンA
アプリケーション
ゲストOS
仮想マシンB
アプリケーション
ゲストOS
仮想マシンC
アプリケーション
ゲストOS
③ハイパーバイザー型仮想(ソフトウェア)
ホストOSを必要とせず、ハイパーバイザーというソフトウェ
ア上で仮想マシンを稼働させる。
VMware ESXi、Xen/Citrix XenServer、Microsoft Hyper-V
サーバ仮想化について
7
物理ハードウェア
ホストOS
ハイパーバイザー
仮想マシンA
アプリケーション
ゲストOS
仮想マシンB
アプリケーション
ゲストOS
④ハイパーバイザー型仮想(カーネルモジュール)
ホストOS(Linux)のカーネルモジュールのハイパーバイ
ザー機能で仮想マシンを稼働させる。
Linux KVM
Dockerの基礎技術~Linuxコンテナー~
Linuxコンテナーは、仮想マシン、ゲストOSという考え方はありません。(仮想ではない)
Linuxカーネルの機能により、Linux上で稼働するユーザープロセスをグループに分割し、各グ
ループごとに異なる環境(ファイルシステム、ネットワーク等)を割り当てたユーザー空間(コ
ンテナー)のことです。
物理ハードウェア
非仮想化環境
ユ
ー
ザ
ー
プ
ロ
セ
ス
ユ
ー
ザ
ー
プ
ロ
セ
ス
ユ
ー
ザ
ー
プ
ロ
セ
ス
・ ・ ・
カーネル空間
物理ハードウェア
分割した環境
・
カーネル空間
ユ
ー
ザ
ー
プ
ロ
セ
ス
・・
ユーザー空間 ユーザー空間
ユ
ー
ザ
ー
プ
ロ
セ
ス
ユ
ー
ザ
ー
プ
ロ
セ
ス
ユ
ー
ザ
ー
プ
ロ
セ
ス
ユーザー空間
OS
コンテナ
8
Dockerの基礎技術~Linuxコンテナー~
物理ハードウェア
コンテナーに属さないユーザー空間をLinuxホストと呼んだ
りします。
・
カーネル空間
ユ
ー
ザ
ー
プ
ロ
セ
ス
・・
ユーザー空間 ユーザー空間
ユ
ー
ザ
ー
プ
ロ
セ
ス
ユ
ー
ザ
ー
プ
ロ
セ
ス
ユ
ー
ザ
ー
プ
ロ
セ
ス
9
ユ
ー
ザ
ー
プ
ロ
セ
ス
ユ
ー
ザ
ー
プ
ロ
セ
ス
ユーザー空間= Linuxホスト
ユ
ー
ザ
ー
プ
ロ
セ
ス
・・・
コンテナ
Dockerの基礎技術~Linuxコンテナー~
■namespace機能
namespace 説明
Mount namespace ファイルシステムの分離
UTS namespace ホストネームの分離
IPC namespace IPC(プロセス間通信)の分離
User namespace ユーザ(UID/GID)の分離
PID namespace プロセステーブルの分離
Network namespace ネットワーク設定の分離
namespace機能は、ユーザープロセスのグループ分割を始め、ファイルシステム
やネットワーク設定の分離等、いくつかの種類があります。
■cgroups機能
cgroups機能は、それぞれのグループ(コンテナー)に対して、CPU、メモリの割
り当てを制御する機能です。
10
Linuxコンテナーを実現するための主なカーネル機能として、namespace機能と
cgroups機能があります。
Dockerとは?
Linuxコンテナーは、Linuxカーネルの機能
であるnamespace機能やcgroups機能
を組み合わせて実現されるものです。
11
Dockerとは?
それでは、Dockerとは何でしょうか?
12
Dockerとは?
Dockerとは、Linuxカーネルの機能を統合し
てコンテナーを作り上げる管理ツールです。
13
Dockerの基礎技術~Dockerイメージ~
物理ハードウェア
pull
カーネル空間
ユ
ー
ザ
ー
プ
ロ
セ
ス
コンテナー コンテナー
ユ
ー
ザ
ー
プ
ロ
セ
ス
ユ
ー
ザ
ー
プ
ロ
セ
ス
14
ユーザー空間
Docker Hub
(レジストリ)
CentOS
レポジトリ
Ubuntu
レポジトリ
https://hub.docker.com/
push
tag:latest
tag:6.7
・
・
tag:latest
tag:14.04
・
・
DockerHubからpullしたDockerイメージをコンテナーに当てることでCentOSや
Ubuntuをコンテナーで起動できます。
Dockerの基礎技術~Dockerイメージ構造~
15
Docker
イメージ
読み込み専用
(ReadOnly)
ベースイメージ
CentOS,Ubuntu等
イメージ層
コマンドごとに記録
ベースイメージ
CentOS,Ubuntu等
イメージ層
コマンド(RUN)及び
ビルドごとに記録
書き込み可能な
イメージ層
読み込み専用
(ReadOnly)
コンテナーが起動すると、
自動的に書き込み可能な
レイヤーが作られる仕組
みです。
(1)Dockerイメージの構造
(2)Dockerコンテナー起動時の構造
Dockerの基本機能
Docker Hub
(イメージレジストリ)
Dockerfile
16
Dockerイメージ
アプリケーション
フレームワーク
アプリケーション
ライブラリ
OSイメージ
Dockerサーバ
① Dockerイメージ自動作成
② Dockerイメージ
の保存・公開
③ Dockerサーバにイメージ配布・実行
イメージの
作成手順を記載
docker pull
docker push
docker build
docker commit
Dockerハンズオン~WordPressの環境作成~
概要
• Dockerのインストール
• Docker Hubからコンテナーイメージのpull
• コンテナーの起動
• 起動したコンテナーの確認
• コンテナーとホストLinuxとの切替
• コンテナーの起動と停止
• DockerfileからWordPress環境作成
• コンテナーのcommit
• コンテナーイメージをDocker Hubにpush
Docker Hub
仮想環境
(Virtualbox,VMWare)
docker pull
docker push
docker run
docker ps
docker images
docker start
docker stop
docker attach
docker commit
docker build
docker rm
docker rmi
docker search
docker login Dockerfile
17
18
Docker実践入門
中井悦司さん
SoftwareDesign
2015年12月号
参考図書・資料
http://www.slideshare.net/enakai/docker-with-rhel7
Docker with RHEL7 技術勉強会
http://www.slideshare.net/zembutsu/devsumi-2016-docker-introduction
Docker 基礎講座
前佛雅人さん
19
コマンドのテキスト
2.Docker pull commit push Dockerfile WordPress環境をつくる~
Docker Compose~
https://goo.gl/nFJooG
1.Docker pull commit push Dockerfile WordPress環境をつくる
https://goo.gl/fsDAAa
コマンドのテキストは、Qiitaにあります!
Dockerのインストール
スライドに記載しているテキストは、以下をご利用ください。
http://qiita.com/cyberblack28/items/e3fb956f584094341c62
1.Dockerのインストール
# yum -y install docker
2.Dockerの自動起動設定及びサービスの起動
# systemctl enable docker.service
# systemctl start docker.service
20
ディストリビューションのDockerをインストールする場合
# curl -fsSL https://get.docker.com/ | sh
最新のDockerをインストールする場合
※本ハンズオンでは最新のDockerでは後半のビルドでエラーとなるのでyumでインストールします。
3.Dockerのバージョンを確認
# docker version
Docker Hubからコンテナーイメージのpull
CentOS6のコンテナーイメージをDocker Hubからダウンロードします。
1.searchサブコマンドでレジストリーを検索
# docker search linaction
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/linaction/centos Sample CentOS6.7(Final) 0
2.コンテナーイメージをダウンロード
# docker pull -a linaction/centos
centos6: Pulling from docker.io/linaction/centos
47d44cb6f252: Already exists
6a7b54515901: Already exists
e788880c8cfa: Already exists
1debf8fb53e6: Already exists
72703a0520b7: Already exists
68833123ff9e: Already exists
ce76491a3be1: Already exists
Digest: sha256:759ea478951130a32e9191daaffc9b4e3c5ad089331eccc32112e370bf7c9fb8
Status: Image is up to date for docker.io/linaction/centos
21
3.ダウンロードしたイメージを確認
# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
docker.io/linaction/centos centos6 ce76491a3be1 About an hour ago 190.6 MB
22
コンテナーの起動
CentOS6のイメージからコンテナーを起動してみましょう。
1.コンテナーを起動
# docker run -it --name centos01 linaction/centos:centos6 /bin/bash
[root@f2f7ecdecaf2 /]#
# docker run -it -name centos01 linaction/centos:centos6 /bin/bash
コマンド詳細
① -i オプションは、コンテナーを実行したコマンドの標準出力に接続して、対話的に
操作できるようにします。
② -t オプションは、コンテナーに疑似TTY端末を割り当てます。
③ --nameオプションは、起動するコンテナーに名前を付与します。省略すると自動
的に名前が付与されます。
④ linaction/centoos:centos6は使用するコンテナーイメージを指定します。
⑤ /bin/bashは、コンテナー内で最初に実行するコマンドを指定します。
①② ③ ④ ⑤
23
新規にコンテナーを起動する度に自動的にランダムに割り当てられます。
起動したコンテナーの確認
1.コンテナー環境のOSのバージョンを確認
[root@f2f7ecdecaf2 /]# cat /etc/redhat-release
CentOS release 6.7 (Final)
2.コンテナー内のプロセスを確認
[root@f2f7ecdecaf2 /]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 04:55 ? 00:00:00 /bin/bash
root 13 1 0 04:59 ? 00:00:00 ps -ef
3.コンテナー環境のネットワークを確認
[root@f2f7ecdecaf2 /]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:04
inet addr:172.17.0.4 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr: fe80::42:acff:fe11:4/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:648 (648.0 b) TX bytes:738 (738.0 b)
24
コンテナーとホストLinuxの切替
1.コンテナーの/bin/bashから抜けてホストLinuxに戻る
2.ホストLinuxから再度コンテナー内のbashに接続
# docker attach centos01
[root@f2f7ecdecaf2 /]#
Ctrl + P Q
Ctrlキーを押したまま、PとQを順番に押す。
attachの後には、--nameで指定した名前を指定します。
25
コンテナーの起動と停止
1.Linuxホストに戻る
2.コンテナーを停止
# docker stop centos01
Ctrlキーを押したまま、PとQを順番に押す。
stopの後には、--nameで指定した名前を指定します。
3.停止したコンテナーを確認
4.コンテナーを起動
startの後には、--nameで指定した名前を指定します。
# docker start centos01
# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f2f7ecdecaf2 linaction/centos:centos6 "/bin/bash" 23 minutes ago Exited (137) 13 seconds ago centos01
5.起動したコンテナーを確認
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f2f7ecdecaf2 linaction/centos:centos6 "/bin/bash" 30 minutes ago Up 4 seconds centos01
26
コンテナーの起動と停止
6.docker execコマンド
# docker exec -it centos01 /bin/bash
docker execコマンドの場合は、exitしてもコンテナは終了せず、稼働し続けます。
27
attachは、コンテナーで起動しているPID=1のプロセスの標準入出力(STDIN/STDOUT)
に接続するため、exitと同時にPID=1の/bin/bashが終了し、コンテナーも停止する。
exitの場合は、新たに/bin/bashのプロセスが起動し、exitしても新規の/bin/bashプロセ
スが終了となるため、元々の/bin/bash自体は停止しないため、コンテナーは稼働状態と
なる。
attachとexecの違い
DockerfileからWordPress環境作成
1.コンテナーを停止
# docker stop centos01
2.build用のディレクトリを作成
3.Dockerfileを作成
# cd build_wordpress
# vi Dockerfile
Dockerfileの内容は次のページを参照
:wq
# mkdir ~/build_wordpress
4.Dockerfileを実行
# docker build -t linaction/wordpress:ver1.0 ~/build_wordpress
・
・
Successfully built 0c4e45b86bcd
5.コンテナーを起動
# docker run -itd -p 8000:80 --name wordpress01 linaction/wordpress:ver1.0
3ce407416874308af370951ecf56c77b53e2aa405ba20aae51593fd3a0e2e108
-d オプションはバックグラウンドでの実行。
-p オプションはポートフォワーディング、Linuxホスト8000番→コンテナー80番に転送。
28
#centos6のイメージを取得
FROM centos:centos6
#Dockerfile作成者
MAINTAINER linaction
#タイムゾーンの設定
RUN /bin/cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
#yumによるHTTPD,MySQL,PHP,tar,wgetのインストール
RUN yum -y install httpd php php-mysql mysql-server tar wget php-gd
#tmpディレクトリに移動
WORKDIR /tmp/
#wordpress一式のダウンロード
RUN wget https://ja.wordpress.org/latest-ja.tar.gz
#wordpressの展開
RUN tar xvfz ./latest-ja.tar.gz
#ダウンロードしたwordpressの削除
RUN rm -f ./latest-ja.tar.gz
#wordpressディレクトリ内のファイルをDocumentRootに移動
RUN mv wordpress/* /var/www/html/
#wordpressのconfigファイルをリネームして利用可能にする
RUN cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
#wordpressのconfigファイルに必要な情報をsedコマンドで書き換える
RUN sed -i -e 's/database_name_here/wordpress/g' -e 's/username_here/wordpress/g' -e 's/password_here/wppass/g' /var/www/html/wp-config.php
#DocumentRootディレクトリの所有者をapacheに変更
RUN chown -R apache.apache /var/www/html/
#mysqldの起動、DB作成、ユーザ作成および権限設定、mysqldの停止
RUN service mysqld start && mysql -u root -e "CREATE DATABASE wordpress; GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost' IDENTIFIED BY 'wppass';
FLUSH PRIVILEGES;" && service mysqld stop
#mysqld,httpdの起動スクリプトの作成
RUN echo -e "service mysqld startnservice httpd startn/bin/bash" > /startService.sh
#mysqld,httpdの起動スクリプトの権限設定
RUN chmod o+x /startService.sh
#公開ポート
EXPOSE 80
#mysqld,httpdの起動スクリプトの実行
CMD /startService.sh
Dockerfileの内容
29
命令 説明
FROM コンテナーイメージを指定 「リポジトリー:タグ名」
MAINTAINER コンテナーイメージ作成者名
ENV 環境変数を設定
RUN コマンドの実行
ADD ホストLinuxからファイルを設置
EXPOSE コンテナーで使用するポート番号を指定
CMD コンテナー起動時に実行するコマンドを指定
WORKDIR RUN,CMD,ENTRYPOINTを実行する時のワーキングディレ
クトリを指定
30
8000 Port
80 Port
ポート
フォワーディング
アクセスの流れ
コンテナーのcommit
1.ブラウザを起動し、「http://VirtualBoxのIPアドレス:8000/」にアクセスし、
WordPressの管理画面が表示されることを確認
2.コンテナーを停止
# docker stop wordpress01
3.コンテナーを保存
# docker commit wordpress01 linaction/wordpress:ver1.0
cf75652d0f8a1509a5ad132ecf1214416c2b8dbf9fe9f93830ab8b51e738db73
4.コンテナーイメージを確認
# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
linaction/wordpress ver1.0 cf75652d0f8a 56 seconds ago 474.9 MB
docker.io/linaction/centos centos6 ce76491a3be1 2 hours ago 190.6 MB
31
# docker commit wordpress01 linaction/wordpress:ver1.0
コマンド詳細
① ② ③
① コンテナ名
② リポジトリ名
③ タグ名
コンテナーイメージをDocker Hubにpush
事前に「https://hub.docker.com/」にアクセスし、Docker Hubのアカウントを
作成しておく必要があります。本勉強会ではlinactionのアカウントでデモします。
1.Docker Hubにログイン
# docker login
Username: linaction
Password:
Email:
Login Succeeded
2.Docker Hubにコンテナーイメージをpush
# docker push linaction/wordpress
Do you really want to push to public registry? [y/n]: y
The push refers to a repository [docker.io/linaction/wordpress] (len: 0)
・
・
Digest: sha256:97e3bd8b7ed451163af7284513d398c426c796451d343400a9859156c1a8c021
32
3.リポジトリーを確認
# docker search linaction
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/linaction/centos Sample CentOS6.7(Final) 0
docker.io docker.io/linaction/wordpress
33
最後に全てのイメージと停止コンテナを削除して、pushしたwordpressのコンテ
ナーイメージをダウンロードして起動してみましょう。
# docker rm `docker ps -a -q`
# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1.停止コンテナの一括削除
# docker rmi `docker images -aq`
# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
2.イメージの一括削除
# docker pull -a linaction/wordpress
3.wordpressのコンテナーイメージをダウンロード
4.コンテナーを起動
# docker run -itd -p 8000:80 --name wordpress01 linaction/wordpress:ver1.0
34
コンテナーのライフサイクル
35
run(起動)、stop(停止)、start(再開)、commit(保存)、rm(削除)における、
コンテナーのライフサイクルは以下の様になります。
保存イメージ スナップショット
プロセス
スナップショット スナップショット
保存イメージ
run start
stop rm
commit
コンテナーが破棄されます。
コンテナーを複製して、保存イ
メージとして登録します。
コンテナーを停止するとプロセ
スが終了し、コンテナーが残り
ます。
コンテナーの起動と同時にス
ナップショットが作成されます。
複数のコンテナー
36
前半では、1コンテナーの中に、Apache、MySQLをインストールしました。
推奨されているコンテナーの利用方法として、「1コンテナ1プロセス」が
あります。
これは大規模でオーケストレーションツール(Kubernetes等)と組み合わ
せたマイクロサービスのシステム上で有用性があります。
もう少し小さい規模においては、例えば、WEB、APP、DB等のロール
ベースに分けることが良いとされているケースもあります。
後半では、Docker Composeを利用して、WEB(WordPress)と
DB(MySQL)を分けて、複数コンテナー管理をしてみようと思います。
Docker Compose
37
docker compose は docker-compose.ymlというファイルで構成を定
義します。YAML で体系的に構成を定義出来るので複数コンテナーの全体
像を管理しやすくなります。
docker run時のオプションも定義できるので、コマンド1回実行するだけ
で複数のコンテナを起動できます。
Docker Compose
38
1. Docker Composeのインストール
2. docker-compose.ymlの作成
3. WordPressコンテナーとMySQLコンテナーの一括起動
39
# curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-
`uname -m` > /usr/local/bin/docker-compose# docker ps -a
1.Docker Composeのインストール
2.ダウンロードしたバイナリに対して実行権限を追加
# chmod +x /usr/local/bin/docker-compose
3.インストール確認
# docker-compose -v
docker-compose version 1.9.0, build 2585387
4.docker-compose.ymlの作成
# vim docker-compose.yml
5..envファイルの作成
# vim .env
6.コンテナー一括起動
# docker-compose up -d
40
version: "2"
services:
wordpress:
image: wordpress:latest
ports:
- “8080:80"
depends_on:
- db
environment:
WORDPRESS_DB_HOST: "db:3306"
env_file: .env
db:
image: mysql:latest
env_file: .env
volumes:
- db-data:/var/lib/mysql
volumes:
db-data:
driver: local
定義 説明
version バージョン宣言
services:サービス設定カテゴリ
image コンテナを実行時に元となるイメージを指定し
ます。リポジトリ名・タグあるいはイメージ ID
の一部を指定
ports 公開用のポート
depends_on サービス間の依存関係を指定
environment 環境変数を追加します。
env_file ファイル上の定義から環境変数を追加
volumes パスをボリュームとしてマウントします。オプ
ションとしてホスト側のパスを指定(ホスト:コ
ンテナ)したり、アクセスモードを指定します
(ホスト:コンテナ:ro)。
volumes:ボリューム設定カテゴリ
driver ボリューム・ドライバがどのボリュームを使う
べきかを指定します。デフォルトは local
その他詳細は、こちらのリファレンスを参照。
http://docs.docker.jp/compose/compose-file.html
docker-compose.ymlの内容
41
WORDPRESS_DB_NAME=wordpress
WORDPRESS_DB_USER=wp_user
WORDPRESS_DB_PASSWORD=hogehoge
MYSQL_RANDOM_ROOT_PASSWORD=yes
MYSQL_DATABASE=wordpress
MYSQL_USER=wp_user
MYSQL_PASSWORD=hogehoge
定義 説明
WORDPRESS_DB_NAME WORDPRESSのDB名
WORDPRESS_DB_USER WORDPRESSのDBユーザ名
WORDPRESS_DB_PASSWORD WORDPRESSのDBパスワード
MYSQL_RANDOM_ROOT_PASSWORD yesを設定することで、rootユーザのための初期パスワードを
(pwgenを利用して)ランダムで生成
MYSQL_DATABASE WORDPRESS用のDB名
MYSQL_USER WORDPRESS用のDBユーザ名
MYSQL_PASSWORD WORDPRESS用のDBパスワード
.envファイルの内容
42
コマンド 説明
up コンテナーの生成/起動
down 全てのコンテナの停止と同時削除
scale 生成するコンテナー数の指定
ps コンテナーの一覧表示
logs コンテナーログ出力
run コンテナーの実行
start コンテナーの起動
stop コンテナーの停止
restart コンテナーの再起動
kill 実行中のコンテナーの強制停止
rm コンテナーの削除
主なコマンド
その他詳細は、こちらのリファレンスを参照。
http://docs.docker.jp/compose/reference/overview.html
43
LB
Internet
オーケストレーション
ツール
イメージ
レジストリ
本ハンズオンの構成
オーケストレーショ
ンツールを利用した
冗長構成

Mais conteúdo relacionado

Mais procurados

Kubernetes etc.. & rancher 2.0 technical preview “Let’s import GKE/Bluemix/AK...
Kubernetes etc.. & rancher 2.0 technical preview “Let’s import GKE/Bluemix/AK...Kubernetes etc.. & rancher 2.0 technical preview “Let’s import GKE/Bluemix/AK...
Kubernetes etc.. & rancher 2.0 technical preview “Let’s import GKE/Bluemix/AK...cyberblack28 Ichikawa
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
[Docker Tokyo #35] Docker 20.10
[Docker Tokyo #35] Docker 20.10[Docker Tokyo #35] Docker 20.10
[Docker Tokyo #35] Docker 20.10Akihiro Suda
 
Kubernetesと暮らすRancherな生活
Kubernetesと暮らすRancherな生活Kubernetesと暮らすRancherな生活
Kubernetesと暮らすRancherな生活Go Chiba
 
DockerをRed Hatはどのように見ているのか
DockerをRed Hatはどのように見ているのかDockerをRed Hatはどのように見ているのか
DockerをRed Hatはどのように見ているのかEmma Haruka Iwao
 
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
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Masahito Zembutsu
 
【さくらのクラウド】Jupyter Notebook スタートアップスクリプト
【さくらのクラウド】Jupyter Notebook スタートアップスクリプト【さくらのクラウド】Jupyter Notebook スタートアップスクリプト
【さくらのクラウド】Jupyter Notebook スタートアップスクリプトさくらインターネット株式会社
 
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
 Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術までAkihiro Suda
 
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSnpsg
 
Container Networking Deep Dive
Container Networking Deep DiveContainer Networking Deep Dive
Container Networking Deep DiveHirofumi Ichihara
 
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)Akihiro Suda
 
今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみた今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみたKohei Tokunaga
 
Weaveを試してみた
Weaveを試してみたWeaveを試してみた
Weaveを試してみたKazuto Kusama
 
20分でわかるgVisor入門
20分でわかるgVisor入門20分でわかるgVisor入門
20分でわかるgVisor入門Shuji Yamada
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線Motonori Shindo
 
Arukas meet Mesos/Marathon
Arukas meet Mesos/MarathonArukas meet Mesos/Marathon
Arukas meet Mesos/MarathonShuji Yamada
 
kubernetes(GKE)環境におけるdatadog利用
kubernetes(GKE)環境におけるdatadog利用kubernetes(GKE)環境におけるdatadog利用
kubernetes(GKE)環境におけるdatadog利用Koichi HARUNA
 
OpenShift v3 Technical Overview
OpenShift v3 Technical OverviewOpenShift v3 Technical Overview
OpenShift v3 Technical OverviewNakayama Kenjiro
 
OCIランタイムの筆頭「runc」を俯瞰する
OCIランタイムの筆頭「runc」を俯瞰するOCIランタイムの筆頭「runc」を俯瞰する
OCIランタイムの筆頭「runc」を俯瞰するKohei Tokunaga
 

Mais procurados (20)

Kubernetes etc.. & rancher 2.0 technical preview “Let’s import GKE/Bluemix/AK...
Kubernetes etc.. & rancher 2.0 technical preview “Let’s import GKE/Bluemix/AK...Kubernetes etc.. & rancher 2.0 technical preview “Let’s import GKE/Bluemix/AK...
Kubernetes etc.. & rancher 2.0 technical preview “Let’s import GKE/Bluemix/AK...
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
[Docker Tokyo #35] Docker 20.10
[Docker Tokyo #35] Docker 20.10[Docker Tokyo #35] Docker 20.10
[Docker Tokyo #35] Docker 20.10
 
Kubernetesと暮らすRancherな生活
Kubernetesと暮らすRancherな生活Kubernetesと暮らすRancherな生活
Kubernetesと暮らすRancherな生活
 
DockerをRed Hatはどのように見ているのか
DockerをRed Hatはどのように見ているのかDockerをRed Hatはどのように見ているのか
DockerをRed Hatはどのように見ているのか
 
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
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
 
【さくらのクラウド】Jupyter Notebook スタートアップスクリプト
【さくらのクラウド】Jupyter Notebook スタートアップスクリプト【さくらのクラウド】Jupyter Notebook スタートアップスクリプト
【さくらのクラウド】Jupyter Notebook スタートアップスクリプト
 
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
 Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
 
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaS
 
Container Networking Deep Dive
Container Networking Deep DiveContainer Networking Deep Dive
Container Networking Deep Dive
 
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
 
今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみた今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみた
 
Weaveを試してみた
Weaveを試してみたWeaveを試してみた
Weaveを試してみた
 
20分でわかるgVisor入門
20分でわかるgVisor入門20分でわかるgVisor入門
20分でわかるgVisor入門
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
Arukas meet Mesos/Marathon
Arukas meet Mesos/MarathonArukas meet Mesos/Marathon
Arukas meet Mesos/Marathon
 
kubernetes(GKE)環境におけるdatadog利用
kubernetes(GKE)環境におけるdatadog利用kubernetes(GKE)環境におけるdatadog利用
kubernetes(GKE)環境におけるdatadog利用
 
OpenShift v3 Technical Overview
OpenShift v3 Technical OverviewOpenShift v3 Technical Overview
OpenShift v3 Technical Overview
 
OCIランタイムの筆頭「runc」を俯瞰する
OCIランタイムの筆頭「runc」を俯瞰するOCIランタイムの筆頭「runc」を俯瞰する
OCIランタイムの筆頭「runc」を俯瞰する
 

Semelhante a Docker入門 OSC 2018 Tokyo/Spring

Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineEtsuji Nakai
 
Dockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたDockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたnpsg
 
Docker入門~word press環境を作ってみる ハンズオン編 ver1.4~ pulic
Docker入門~word press環境を作ってみる ハンズオン編 ver1.4~ pulicDocker入門~word press環境を作ってみる ハンズオン編 ver1.4~ pulic
Docker入門~word press環境を作ってみる ハンズオン編 ver1.4~ puliccyberblack28 Ichikawa
 
近頃のDockerネットワーク
近頃のDockerネットワーク近頃のDockerネットワーク
近頃のDockerネットワークYuji Oshima
 
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーションDocker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーションMasahito Zembutsu
 
コンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用についてコンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用についてTomofumi Hayashi
 
[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)
[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)
[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)Masahito Zembutsu
 
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月VirtualTech Japan Inc.
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Yuichi Ito
 
VPP事始め
VPP事始めVPP事始め
VPP事始めnpsg
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始めtetsusat
 
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編Masahito Zembutsu
 
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪Kunihiro TANAKA
 
WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築Saito5656
 
Circle ci and docker+serverspec
Circle ci and docker+serverspecCircle ci and docker+serverspec
Circle ci and docker+serverspecTsuyoshi Yamada
 
Docker で xxxxxxサーバ を つくれませんでした
Docker で xxxxxxサーバ を つくれませんでしたDocker で xxxxxxサーバ を つくれませんでした
Docker で xxxxxxサーバ を つくれませんでしたkrs_mizuno
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでRyo Nakamaru
 
20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会Minehiko Nohara
 

Semelhante a Docker入門 OSC 2018 Tokyo/Spring (20)

Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container Engine
 
Docker Tokyo
Docker TokyoDocker Tokyo
Docker Tokyo
 
Dockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたDockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみた
 
Docker入門~word press環境を作ってみる ハンズオン編 ver1.4~ pulic
Docker入門~word press環境を作ってみる ハンズオン編 ver1.4~ pulicDocker入門~word press環境を作ってみる ハンズオン編 ver1.4~ pulic
Docker入門~word press環境を作ってみる ハンズオン編 ver1.4~ pulic
 
近頃のDockerネットワーク
近頃のDockerネットワーク近頃のDockerネットワーク
近頃のDockerネットワーク
 
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーションDocker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
 
コンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用についてコンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用について
 
Lxc on cloud
Lxc on cloudLxc on cloud
Lxc on cloud
 
[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)
[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)
[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)
 
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
 
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
 
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
 
WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築
 
Circle ci and docker+serverspec
Circle ci and docker+serverspecCircle ci and docker+serverspec
Circle ci and docker+serverspec
 
Docker で xxxxxxサーバ を つくれませんでした
Docker で xxxxxxサーバ を つくれませんでしたDocker で xxxxxxサーバ を つくれませんでした
Docker で xxxxxxサーバ を つくれませんでした
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
 
20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会
 

Mais de cyberblack28 Ichikawa

KubeCon + CloudNativeCon China 2018 Recap, let's go to Seattle
KubeCon + CloudNativeCon China 2018 Recap, let's go to SeattleKubeCon + CloudNativeCon China 2018 Recap, let's go to Seattle
KubeCon + CloudNativeCon China 2018 Recap, let's go to Seattlecyberblack28 Ichikawa
 
KubeCon + CloudNativeCon China 2018 Recap
KubeCon + CloudNativeCon China 2018 RecapKubeCon + CloudNativeCon China 2018 Recap
KubeCon + CloudNativeCon China 2018 Recapcyberblack28 Ichikawa
 
話題のkubernetesをRancher2.0で便利に使う!
話題のkubernetesをRancher2.0で便利に使う!話題のkubernetesをRancher2.0で便利に使う!
話題のkubernetesをRancher2.0で便利に使う!cyberblack28 Ichikawa
 
Jenkins X on GKE & Rancher2.0 on ORACLE Cloud
Jenkins X on GKE & Rancher2.0 on ORACLE CloudJenkins X on GKE & Rancher2.0 on ORACLE Cloud
Jenkins X on GKE & Rancher2.0 on ORACLE Cloudcyberblack28 Ichikawa
 
Kubernetes etc.. & rancher 2.0 technical preview
Kubernetes etc.. & rancher 2.0 technical previewKubernetes etc.. & rancher 2.0 technical preview
Kubernetes etc.. & rancher 2.0 technical previewcyberblack28 Ichikawa
 
Kubernetes etc.. & rancher2.0 technical preview
Kubernetes etc.. & rancher2.0 technical previewKubernetes etc.. & rancher2.0 technical preview
Kubernetes etc.. & rancher2.0 technical previewcyberblack28 Ichikawa
 
try.rancher.comでrancherを始める
try.rancher.comでrancherを始めるtry.rancher.comでrancherを始める
try.rancher.comでrancherを始めるcyberblack28 Ichikawa
 
コンテナ管理 プラットフォーム 比較 ~Kubernetes~予告編
コンテナ管理 プラットフォーム 比較 ~Kubernetes~予告編 コンテナ管理 プラットフォーム 比較 ~Kubernetes~予告編
コンテナ管理 プラットフォーム 比較 ~Kubernetes~予告編 cyberblack28 Ichikawa
 
Rancherでmesosとmarathonやってみた
RancherでmesosとmarathonやってみたRancherでmesosとmarathonやってみた
Rancherでmesosとmarathonやってみたcyberblack28 Ichikawa
 

Mais de cyberblack28 Ichikawa (20)

Introduction of kubernetes rancher
Introduction of kubernetes rancherIntroduction of kubernetes rancher
Introduction of kubernetes rancher
 
KubeCon + CloudNativeCon China 2018 Recap, let's go to Seattle
KubeCon + CloudNativeCon China 2018 Recap, let's go to SeattleKubeCon + CloudNativeCon China 2018 Recap, let's go to Seattle
KubeCon + CloudNativeCon China 2018 Recap, let's go to Seattle
 
KubeCon + CloudNativeCon China 2018 Recap
KubeCon + CloudNativeCon China 2018 RecapKubeCon + CloudNativeCon China 2018 Recap
KubeCon + CloudNativeCon China 2018 Recap
 
What's Rio 〜Standalone〜
What's Rio 〜Standalone〜What's Rio 〜Standalone〜
What's Rio 〜Standalone〜
 
What's rancher v2.1.0 JA
What's rancher v2.1.0 JAWhat's rancher v2.1.0 JA
What's rancher v2.1.0 JA
 
Introduction of k8s rancher
Introduction of k8s rancherIntroduction of k8s rancher
Introduction of k8s rancher
 
What's Rio
What's RioWhat's Rio
What's Rio
 
Rancher2.0でkubernetes
Rancher2.0でkubernetes Rancher2.0でkubernetes
Rancher2.0でkubernetes
 
話題のkubernetesをRancher2.0で便利に使う!
話題のkubernetesをRancher2.0で便利に使う!話題のkubernetesをRancher2.0で便利に使う!
話題のkubernetesをRancher2.0で便利に使う!
 
Jenkins X on GKE & Rancher2.0 on ORACLE Cloud
Jenkins X on GKE & Rancher2.0 on ORACLE CloudJenkins X on GKE & Rancher2.0 on ORACLE Cloud
Jenkins X on GKE & Rancher2.0 on ORACLE Cloud
 
Rancher2.0とGKE
Rancher2.0とGKERancher2.0とGKE
Rancher2.0とGKE
 
Rancher2.0とGKE
Rancher2.0とGKERancher2.0とGKE
Rancher2.0とGKE
 
Whats service mesh & istio ?
Whats service mesh & istio ?Whats service mesh & istio ?
Whats service mesh & istio ?
 
2017 KubeCon CNCon ver2
2017 KubeCon CNCon ver22017 KubeCon CNCon ver2
2017 KubeCon CNCon ver2
 
2017 Kubecon cncon recap ver1
2017 Kubecon cncon recap ver12017 Kubecon cncon recap ver1
2017 Kubecon cncon recap ver1
 
Kubernetes etc.. & rancher 2.0 technical preview
Kubernetes etc.. & rancher 2.0 technical previewKubernetes etc.. & rancher 2.0 technical preview
Kubernetes etc.. & rancher 2.0 technical preview
 
Kubernetes etc.. & rancher2.0 technical preview
Kubernetes etc.. & rancher2.0 technical previewKubernetes etc.. & rancher2.0 technical preview
Kubernetes etc.. & rancher2.0 technical preview
 
try.rancher.comでrancherを始める
try.rancher.comでrancherを始めるtry.rancher.comでrancherを始める
try.rancher.comでrancherを始める
 
コンテナ管理 プラットフォーム 比較 ~Kubernetes~予告編
コンテナ管理 プラットフォーム 比較 ~Kubernetes~予告編 コンテナ管理 プラットフォーム 比較 ~Kubernetes~予告編
コンテナ管理 プラットフォーム 比較 ~Kubernetes~予告編
 
Rancherでmesosとmarathonやってみた
RancherでmesosとmarathonやってみたRancherでmesosとmarathonやってみた
Rancherでmesosとmarathonやってみた
 

Docker入門 OSC 2018 Tokyo/Spring