Slide 1

Slide 1 text

MIRACLE LINUXをコンテナで活用 クルク マティアス [email protected] https://github.com/m10k

Slide 2

Slide 2 text

❶ コンテナ入門 ❷ 作り方 ❸ 使い方 ❹ ベースイメージ

Slide 3

Slide 3 text

● 仮想マシンではない ● アプリを動かすに必要 最低限の環境 ● chroot++ コンテナとは

Slide 4

Slide 4 text

コンテナネットワーク ● ブリッジNWはデフォルト ○ NATで分離されている ● ホストNWは分離無し

Slide 5

Slide 5 text

セキュリティ対策としてのコンテナ

Slide 6

Slide 6 text

通常のデプロイ ● ユーザー環境によって正しく動 かないことがある

Slide 7

Slide 7 text

デプロイ手段としてのコンテナ ● 依存パッケージと設定と一 緒に提供

Slide 8

Slide 8 text

コンテナの作り方

Slide 9

Slide 9 text

コンテナ作成の流れ コンテナの定義 実行中のコンテナ アプリ、依存パッケージ、設 定を梱包した状態

Slide 10

Slide 10 text

Dockerfileの書き方 $ docker build -t helloworld:latest .

Slide 11

Slide 11 text

m10k/miraclelinux:latest helloworld:latest …

Slide 12

Slide 12 text

デモ:イメージビルド

Slide 13

Slide 13 text

コンテナの使い方

Slide 14

Slide 14 text

コンテナを動かす $ docker run --rm \ -d \ -p 1234:80 \ helloworld:latest 終了したコンテナを削除 バックグラウンドで動かす ポートフォワーディング(外:内) イメージ名

Slide 15

Slide 15 text

コンテナを動かす $ docker run --rm \ -i \ -t \ ubuntu:latest \ /bin/bash 停止したコンテナを削除 対話モード ttyを割り当てる イメージ名 コマンド

Slide 16

Slide 16 text

デモ:コンテナ実行

Slide 17

Slide 17 text

ベースイメージ作成

Slide 18

Slide 18 text

● Dockerfile の FROM で指定 ● コンテナの土台 ● /dev/console など ● glibc、dnf など ベースイメージとは

Slide 19

Slide 19 text

一時的ディレクトリの中 ● mkdir $target/dev ○ mknod -m 600 $target/dev/null c 1 3 ○ … ● yum install --installroot=”$target” @core ● man、docなど削除 https://github.com/moby/moby/blob/master/contrib/mkimage-yum.sh ベースイメージの作り方

Slide 20

Slide 20 text

● stuffer:イメージ作成 ○ dnfを用いる ○ sqliteベースrpmdbに対応 ○ Debian上でも使える ● gantry:hub.docker.com へアップロード https://github.com/m10k/gantry ML非公式イメージ作成:stuffer と gantry

Slide 21

Slide 21 text

$ sudo stuffer --distro miraclelinux9 \ --name miraclelinux \ --version latest ● 他のディストロもビルドできる ○ miraclelinux8, centos-stream9, rockylinux9 stuffer でベースイメージを作る

Slide 22

Slide 22 text

# wget -O /etc/apt/trusted.gpg.d/deb.m10k.eu.gpg \ http://deb.m10k.eu/deb.m10k.eu.gpg # echo "deb https://deb.m10k.eu stable main" \ > /etc/apt/sources.list.d/m10k-stable.list # apt-get update # apt-get install gantry gantry と stuffer のインストール

Slide 23

Slide 23 text

デモ:stuffer実行

Slide 24

Slide 24 text

ML非公式イメージ ● https://hub.docker.com/r/m10k/miraclelinux ○ 毎朝5時に更新 ○ m10k/miraclelinux:9-latest → ML9 ○ m10k/miraclelinux:8-latest → ML8 ○ m10k/miraclelinux:latest → ML9

Slide 25

Slide 25 text

ご清聴ありがとうございました