Docker Meetup Tokyo #29 (Docker Bday #6) 開催レポート

Akihiro Suda
Apr 1, 2019 · 4 min read

NTTの須田です.今回は2019年3月27日、弊社田町オフィスにてDocker Tokyoコミュニティが開催したDocker Meetup Tokyo #29 (Docker Bday #6) のレポートをお届けします.(#28#27の記事もどうぞご覧ください)

今回のイベントは,Docker 6周年を記念し,2019年3月18日~31日にかけて世界75都市で開催された#DockerBday eventsの1つです.

簡易コンテナを作ってみる
ゴリラさん @gorilla0513

コンテナの要素技術である,namespacesやcgroupsについて解説いただきました.また,bashやGoを用いて,簡易的なコンテナを実装する例を紹介いただきました.ごく基本的な機能のみを備えるコンテナであれば, unshare , chroot などのコマンドや, /sys/fs/cgroup 以下に対するファイル操作のみで実装できるとのことです.

コンテナベースアプリケーションの設計原則と現実
Kazuki Higashiguchiさん @hgsgtk

コンテナを利用する上でのベストプラクティスを紹介いただきました.

  • 設定はコンテナイメージ内には格納せず,環境変数にする

といったお話がありました.

Dive into BuildKit & LLB
Hiromu Nakamuraさん @po3rin

docker build の新しいバックエンドであるBuildKitについて紹介いただきました.BuildKitは,DockerfileをLLBと呼ばれる低レベルな中間言語にコンパイルして実行します.LLBの各命令間の依存性はDAG (有向非巡回グラフ)として表現されるため,命令の並列実行や,正確なキャッシュ判定が可能となります.LLBはDockerfile以外の言語から生成することも可能であり,Nakamuraさんの自作言語として”Gockerfile”も紹介いただきました.

BuildKitの詳細については,須田の記事「Docker 18.09 新機能 (イメージビルド&セキュリティ)」も併せてご覧ください.

開発・CI・運用における Docker 戦略(クラシコムの場合)
Takeru Hiroseさん @takeru0757

「北欧,暮らしの道具店」クラシコムさんでのDocker活用事例です. Dockerfileやdocker-compose.ymlを社内で共有することで,エンジニア間における開発環境の違いを無くせたのことでした.一方,開発環境とCI環境では,要件が異なるゆえに,Dockerfileの統一が容易ではないとのことで,Dockerfileに条件分岐機能が欲しいとのことでした.

クラスタ化については,Amazon ECSの導入を進めているそうです.ECSは,Kubernetesよりも運用・学習コストが低いとのことです.

Docker 6周年記念パーティ

クリエーションラインさんにケーキを,Forkwell (grooves Inc.)さんにお寿司・飲み物をご提供いただきました.どうもありがとうございました.

クリエーションラインさんは,Docker社 公式パートナーとして事業を展開されているほか,P2P方式のDockerイメージレジストリであるBeiranをOSSで開発・公開されています.

Forkwell (grooves Inc.)さんは,エンジニア専門の転職支援サービスを提供されています.

おわりに

私たちNTTはオープンソースコミュニティで共に活動する仲間を募集しています.ぜひ弊社 ソフトウェアイノベーションセンタ紹介ページや,採用情報ページをご覧ください.

nttlabs

NTT Open Source

nttlabs

NTT Open Source

Akihiro Suda

Written by

A maintainer of Moby (dockerd), containerd, and runc. https://github.com/AkihiroSuda

nttlabs

NTT Open Source