UNTIL202405

>100 Views

May 24, 24

スライド概要

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

runcで遊ぼう @appare45 2024/5/11 UNTIL. #0x04

2.

自己紹介 中村天晴(@appare45) ● 学園祭実行委員会 情報メディアシステム局 (局長) ● 情報科学類2年生 ● 最近は雙峰祭オンラインシステムを作っていた 2024/5/11 UNTIL. #0x04 2

3.

使っていますか、Docker ● (めっちゃ簡単に言うと)簡単な仮想化技術 ● Windowsやmacの中でLinuxが動かせちゃう! ● VMと比べて結構軽いしお手軽! 2024/5/11 UNTIL. #0x04 3

4.

暮らしのDocker ● プログラミング入門 (coins/mast/klis1年次必修)の環境構築も Dockerで ○ https://github.com/coins23/prog1-environment ● WORD編集部ではTeXのビルドにDocker composeが使われている ● 開発時にdevcontainerを使うという話も とにかく環境構築で楽ができる 2024/5/11 UNTIL. #0x04 4

5.

たまに出現する急にUbuntuが使いたくなるとき ● 最近はWSLなどのお陰で割とLinuxを触るハードルが下がった ● それでも生のUbuntuが一時的にほしいシチュエーションは度々 そんなときもDockerならすぐ作って消せる 2024/5/11 UNTIL. #0x04 5

6.

さっと作って、さっと消す docker run --rm -it ubuntu:latest /bin/bash 2024/5/11 UNTIL. #0x04 6

7.

2024/5/11 UNTIL. #0x04 7

8.

そもそもDockerとは何なのか とりあえずNamespaceが 分けられるといい コンテナ Namespace カーネル Linux 2024/5/11 UNTIL. #0x04 8

9.

Dockerの雑な内部構造 Docker containerd コンテナ runc コンテナ runc 2024/5/11 UNTIL. #0x04 9

10.

同じことがruncでもできるよ 簡単に言えば runc spec runc run 1 2024/5/11 UNTIL. #0x04 10

11.

runc spec ● runc specコマンドを実行するとconfig.jsonが生成される 2024/5/11 UNTIL. #0x04 11

12.

rootfs ● コンテナのルートが必要 ● 簡単なのはdocker exportを使う docker export $(docker create ubuntu) | tar -C rootfs -xvf - 2024/5/11 UNTIL. #0x04 12

13.

runc run 1 ● runcコンテナを作成する 2024/5/11 UNTIL. #0x04 13

14.

デモ root@ac713e7cd55f:/mycontainer# hostname ac713e7cd55f root@ac713e7cd55f:/mycontainer# runc run 1 / # hostname runc 2024/5/11 UNTIL. #0x04 14

15.

デモ root@ac713e7cd55f:/mycontainer# runc run 2 / # hostname until 2024/5/11 UNTIL. #0x04 15

16.

宣伝 ● Sockerという名前で昨年の情報特別演習でruncを作った ● runcの中身はunshareシステムコール ● ランタイム自体は大変ではないが使いやすいランタイムを作るのは難しい ○ ○ マウントとかあると便利 ネットワークが大変 2024/5/11 UNTIL. #0x04 16

17.

アプリケーション コンテナ コンテナ用ルーティング 2024/5/11 UNTIL. #0x04 ホスト ホスト用 ルーティング NIC ブリッジ 17