SlideShare a Scribd company logo
runC概要と使い方	
NTT	SIC	大嶋 悠司
誰	
大嶋 悠司	
所属:NTT	SIC	
昔:機械学習・ロボットなど	
今:BGPソフトウェア実装 Docker		
	
GoBGP:	h4ps://github.com/osrg/gobgp	
Dockerのネットワークプラグイン作ったり	
h4ps://github.com/gopher-net/ipvlan-docker-plugin
コンテナって最近めっちゃ聞くな	
マジか	
そういやCFでもコンテナ使ってたような...
CFでのコンテナ...	
h4p://www.slideshare.net/i_yudai/warden	
NTT Software Innovation Center
求められるもの
App環境の隔離
リソース制限の導⼊
操作⽤API
2012-07-26 7
DEAホスト
App App App
⼀⽅通⾏
制限
アプリの隔離に利用されてます
runC?	
h4ps://www.cloudfoundry.org/garden-and-runc/	
CFのバックエンドがrunCになるらしい!	
・・・runCって何?	
  ↓こいつと何が違うの?
コンテナの系譜	
chroot	
1983	
FreeeBSD	
Jail	
2000	
LXC	
2008	
docker	
2013
ソ	
ラ	
リ	
ス	
コ	
ン	
テ	
ナ	
は	
!?	
レ	
イ	
ヤ	
合	
っ	
て	
る	
!?	
warden入ってないとか!!	
とにかく古くからあるんや!!
Dockerの登場	
何が新しかったのか	
	実行環境をDockerイメージとして管理できる	
	コンテナはそのイメージのデプロイ方法
Dockerがないと	
コンテナはリソースを隔離する技術	
実行環境の構築を手動で行う必要がある
Dockerの周辺事情	
DockerとはことなるコンテナランタイムRockertを発表	
•  常駐デーモンを持たず	
•  イメージ等の仕様を公開(App	Container	Image)	
CoreOSがDockerと喧嘩	
•  セキュリティ(rootデーモン常駐・docker	pull)	
•  イメージの仕様が不明	
•  Docker社の方針
OCIの発足・runCの誕生	
Docker社がコンテナの標準仕様を議論・策定する団体を立ちあげ	
仕様のリファレンス実装として	
runC	
を公開
ちなみに...
OCIの方針	
1.  Standard	operaYons	
2.  Content-agnosYc	
3.  Infrastructure-agnosYc	
4.  Designed	for	automaYon	
5.  Industrial-grade	delivery	
イメージの標準化はまだだったり... 2016/2/10時点	
h4ps://github.com/opencontainers/specs/pull/293
コンテナのイメージとランタイム	
コンテナランタイム	
コンテナイメージ
DockerとrunCの技術的関係	
libcontainer	
libnetwork	 libkv	
イメージ	
管理	
(DistribuYon)	
libcontainer	
ベンダリング	
Docker	 runC	
議論・開発
だからrunCでは	
libcontainer	
展開	
実行!!	
Dockerイメージ	
これがCFが謳う	
DockerImage対応の意味
だからrunCでは	
libcontainer	
展開	
実行!!	
Dockerイメージ	
これがCFが謳う	
DockerImage対応の意味	
↑	
このイメージどうやって
作るの?	
Docker?
じゃ,runC使ってみよう!	
٩( 'ω' )‫و‬
Requirement:	
	Go言語がコンパイルできる	
	
$	go	get	github.com/opencontainers/runc	
$	cd	$GOPATH/src/github.com/opencontainers/runc	
$	make	
$	sudo	make	install	
$	runc	-v	
	
以上!!
Dockerイメージの実行	
Requirement:	
	dockerがインストールされてる	
	
$	docker	run	ubuntu:14.04	
$	docker	ps	-a	
	CONTAINER	ID		IMAGE														・・・ NAMES	
	265050cd7358		ubuntu:14.04		・・・ high_leavi4	
$	docker	export	high_leavi4	>	ubuntu1404.tar	
$	mkdir	runctest	
$	mkdir	runctest/roofs	
$	sudo	tar	-xvf	ubuntu1404.tar	-C	runctest/roofs	
$	cd	runctest	
$	runc	spec	
$	sudo	runc	start	ubuntu
もうちょっと使う...	
$	docker	run	-itd	ubuntu:14.04	
$	docker	ps		
	CONTAINER	ID		IMAGE														・・・ NAMES	
	58269d5f04f6		ubuntu:14.04		・・・ stoic_colden	
$	docker	inspect	-f	"{{	.NetworkSeings.SandboxID	}}"	stoic_colden	
	
	
	
$	vim	config.json	
	
	
	
	
$	sudo	runc	start	ubuntu	
で”namespace”のnetwork以下に	
“path”:	”	/var/run/docker/netns/{inspectの結果12文字}”	
を追加	
のはじめ12文字に一致する名前のファイルが	
/var/run/docker/netns にあることを確認
runC、外に出る	
$	ping	8.8.8.8	
	
	
	
	
	
ping:	icmp	open	socket:	OperaYon	not	permi4ed
続・runC、外に出る	
runCは細かくパーミッションを指定可能	
デフォルトではほとんど何もできない	
	
	
	
	
$ping	8.8.8.8	
	PING	8.8.8.8	(8.8.8.8)	56(84)	bytes	of	data.	
	64	bytes	from	8.8.8.8:	icmp_seq=1	4l=53	Yme=1.57	ms	
	
“capabiliYes”に”CAP_NET_RAW”を追加	
ついでに“args”を”bash”に
まとめ	
•  runCはコンテナランタイム	
•  イメージ管理は他所で	
•  runCだけではできることは少ないがコンテナ
ランタイムとしては十分

More Related Content

PDF
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
Preferred Networks
 
PDF
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
 
PDF
Fluentd, Digdag, Embulkを用いたデータ分析基盤の始め方
Kentaro Yoshida
 
PDF
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
hamaken
 
ODP
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
 
PPTX
Gstreamer Basics
Seiji Hiraki
 
PDF
Docker Compose 徹底解説
Masahito Zembutsu
 
PPTX
OpenAI FineTuning を試してみる
iPride Co., Ltd.
 
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
Preferred Networks
 
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
 
Fluentd, Digdag, Embulkを用いたデータ分析基盤の始め方
Kentaro Yoshida
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
hamaken
 
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
 
Gstreamer Basics
Seiji Hiraki
 
Docker Compose 徹底解説
Masahito Zembutsu
 
OpenAI FineTuning を試してみる
iPride Co., Ltd.
 

What's hot (20)

PDF
Hadoopの概念と基本的知識
Ken SASAKI
 
PDF
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
 
PDF
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
 
PDF
gRPC入門
Kenjiro Kubota
 
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
 
PDF
マイクロにしすぎた結果がこれだよ!
mosa siru
 
PDF
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
株式会社MonotaRO Tech Team
 
PDF
Dockerからcontainerdへの移行
Kohei Tokunaga
 
PDF
PHPでWebSocketを実装してみてわかったこと
ksimoji
 
PDF
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
 
PDF
Rustに触れて私のPythonはどう変わったか
ShunsukeNakamura17
 
PDF
Consulを頑張って理解する
Masakazu Watanabe
 
PDF
大規模グラフアルゴリズムの最先端
Takuya Akiba
 
PPTX
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
NTT Communications Technology Development
 
PDF
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
NTT DATA Technology & Innovation
 
PPTX
Docker超入門
VirtualTech Japan Inc.
 
PPT
DNS移転失敗体験談
oheso tori
 
PPTX
これがCassandra
Takehiro Torigaki
 
PDF
RICOH THETA プラグイン開発 ワークショップ #1
RICOHTHETAPluginDevloperCommunity
 
PDF
心理的安全性を 0から80ぐらいに上げた話
Yusuke Hisatsu
 
Hadoopの概念と基本的知識
Ken SASAKI
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
 
gRPC入門
Kenjiro Kubota
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
 
マイクロにしすぎた結果がこれだよ!
mosa siru
 
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
株式会社MonotaRO Tech Team
 
Dockerからcontainerdへの移行
Kohei Tokunaga
 
PHPでWebSocketを実装してみてわかったこと
ksimoji
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
 
Rustに触れて私のPythonはどう変わったか
ShunsukeNakamura17
 
Consulを頑張って理解する
Masakazu Watanabe
 
大規模グラフアルゴリズムの最先端
Takuya Akiba
 
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
NTT Communications Technology Development
 
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
NTT DATA Technology & Innovation
 
Docker超入門
VirtualTech Japan Inc.
 
DNS移転失敗体験談
oheso tori
 
これがCassandra
Takehiro Torigaki
 
RICOH THETA プラグイン開発 ワークショップ #1
RICOHTHETAPluginDevloperCommunity
 
心理的安全性を 0から80ぐらいに上げた話
Yusuke Hisatsu
 
Ad

Similar to runC概要と使い方 (20)

PDF
CPUでもOK,はじめてのローカル画像生成AI。Stable-Diffusion-ForgeとFastSD CPU,Draw Things他など。練習例題...
Netwalker lab kapper
 
PDF
Linux daemonとsupervisordの美味しい関係
Kazushige TAKEUCHI
 
PPTX
loggregator update
Ken Ojiri
 
PDF
今だからこそ知りたい Docker Compose/Swarm 入門
Masahito Zembutsu
 
PPTX
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka
 
PPTX
第4回 SoftLayer勉強会 資料
Naoki Shibata
 
PPTX
WebRTC mediasoup on raspberrypi3
mganeko
 
PDF
第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ
Takeshi Morikawa
 
PDF
コンテナーによるIT基盤変革 - IT infrastructure transformation -
日本ヒューレット・パッカード株式会社
 
PDF
配布用Cacti running with cherokee
yut148atgmaildotcom
 
PDF
Clrh 20140906 lt
Tomoyuki Obi
 
PDF
Lagopus + DockerのDPDK接続
Tomoya Hibi
 
PDF
How to run P4 BMv2
Kentaro Ebisawa
 
PDF
近頃のDockerネットワーク
Yuji Oshima
 
PDF
Tizen 2.0 alpha でサポートされなかった native api
Naruto TAKAHASHI
 
PDF
Pdp11 on-fpga
magoroku Yamamoto
 
PDF
組み込みLinuxでのGolangのススメ
Tetsuyuki Kobayashi
 
PDF
【初心者向け】API を使ってクラウドの管理を自動化しよう
富士通クラウドテクノロジーズ株式会社
 
PDF
Arduino を PHP で制御する
Kenichi Ahagon
 
PDF
Firefox OS - Blaze Your Own Path
dynamis
 
CPUでもOK,はじめてのローカル画像生成AI。Stable-Diffusion-ForgeとFastSD CPU,Draw Things他など。練習例題...
Netwalker lab kapper
 
Linux daemonとsupervisordの美味しい関係
Kazushige TAKEUCHI
 
loggregator update
Ken Ojiri
 
今だからこそ知りたい Docker Compose/Swarm 入門
Masahito Zembutsu
 
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka
 
第4回 SoftLayer勉強会 資料
Naoki Shibata
 
WebRTC mediasoup on raspberrypi3
mganeko
 
第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ
Takeshi Morikawa
 
コンテナーによるIT基盤変革 - IT infrastructure transformation -
日本ヒューレット・パッカード株式会社
 
配布用Cacti running with cherokee
yut148atgmaildotcom
 
Clrh 20140906 lt
Tomoyuki Obi
 
Lagopus + DockerのDPDK接続
Tomoya Hibi
 
How to run P4 BMv2
Kentaro Ebisawa
 
近頃のDockerネットワーク
Yuji Oshima
 
Tizen 2.0 alpha でサポートされなかった native api
Naruto TAKAHASHI
 
Pdp11 on-fpga
magoroku Yamamoto
 
組み込みLinuxでのGolangのススメ
Tetsuyuki Kobayashi
 
【初心者向け】API を使ってクラウドの管理を自動化しよう
富士通クラウドテクノロジーズ株式会社
 
Arduino を PHP で制御する
Kenichi Ahagon
 
Firefox OS - Blaze Your Own Path
dynamis
 
Ad

More from Yuji Oshima (10)

PDF
MLCT#12 使われる機能目指して 測ったり試したり
Yuji Oshima
 
PDF
KubeFlow MeetUp #1 Katibよもやま話
Yuji Oshima
 
PDF
KubeFlowでどこまでいける?
Yuji Oshima
 
PDF
2018 07-23
Yuji Oshima
 
PDF
2018 07-19dist
Yuji Oshima
 
PDF
Katib
Yuji Oshima
 
PPTX
KubernetesでGPUクラスタを管理したい
Yuji Oshima
 
PPTX
Infrakitの話とk8s+GPUの話
Yuji Oshima
 
PPTX
Infrakit Docker_Tokyo_meetup
Yuji Oshima
 
PDF
Docker1.12イングレスロードバランサ
Yuji Oshima
 
MLCT#12 使われる機能目指して 測ったり試したり
Yuji Oshima
 
KubeFlow MeetUp #1 Katibよもやま話
Yuji Oshima
 
KubeFlowでどこまでいける?
Yuji Oshima
 
2018 07-23
Yuji Oshima
 
2018 07-19dist
Yuji Oshima
 
KubernetesでGPUクラスタを管理したい
Yuji Oshima
 
Infrakitの話とk8s+GPUの話
Yuji Oshima
 
Infrakit Docker_Tokyo_meetup
Yuji Oshima
 
Docker1.12イングレスロードバランサ
Yuji Oshima
 

Recently uploaded (11)

PDF
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
PDF
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
PPTX
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
PDF
LoRaWAN ウェザーステーションキット v3 -WSC3-L 日本語ユーザーマニュアル
CRI Japan, Inc.
 
PDF
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
PDF
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
 
PPTX
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
PDF
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
PDF
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
PDF
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
PDF
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
LoRaWAN ウェザーステーションキット v3 -WSC3-L 日本語ユーザーマニュアル
CRI Japan, Inc.
 
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
 
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 

runC概要と使い方