【まとめ】今さら聞けないDocker、コンテナ入門

Docker、コンテナ

はじめに

Docker、コンテナについては使ったことがある程度でしたが、改めて1から勉強を始めました。
改めて勉強すると、検索して調べたりするのはけっこう面倒ですよね。

使い方とか断片的な情報は、検索すればすぐに見つかりますが、出直しで勉強するときに振り返って見ても役に立つように「良い情報」、「深い話」などを厳選してURLをまとめておこうと思います。

まずは「Docker、コンテナ編」です。

1.コンテナの歴史

コンテナってなんだろう― 「コンテナ」の概要を知る
コンテナ誕生までの歴史とコンテナの成長 前回に引き続き、今回はコンテナが生まれるまでの歴史とコンテナが成長してきた道のりをたどってみたいと思います。 コンテナの歴史は、1979年にchrootが誕生したことから始まります(図1)。chroo...

↑コンテナの歴史をひも解く「chroot」、「cgroup」、「Namespace」の話題が少し書いてあります。

[速報]コンテナ型仮想化のDocker 1.0がリリース。Dockerはコンテナエンジンからプラットフォームになると宣言
Linux上のコンテナ型仮想化の実装として話題を集めていたDockerが、正式版となる「Docker 1.0」のリリースを発表しました。6月9日(日本時間で今日6月10日)から2日間サンフランシスコで開催中のイベント「dockercon14...

↑Docker1.0リリースしたときの話。

Linux コンテナとは何か - コンテナ技術の仕組みと歴史| Red Hat
Linux コンテナは、システムの他の部分から分離されたプロセスであり、コンテナイメージにはその実行に必要な全ファイルが含まれ、アプリ開発の数多くの課題を解決します。

↑少し読みづらいですが、RedHat社の記事なので信頼性はあります。

コンテナはクラウド進化の鍵--その歴史と「Docker」の隆盛
クラウドの普及が進むなか、新たな技術としてコンテナが注目を集めている。コンテナが登場した背景と、その最右翼に位置する「Docker」について解説する。

↑文章ばかりですが、そこそこ文字数が多いのでコンテナができた背景、歴史が読み取れます。


2.Docker入門

【連載】世界一わかりみが深いコンテナ & Docker入門 〜 その1:コンテナってなに? 〜 | SIOS Tech. Lab
【武井の世界一わかりみ深いシリーズ】これからコンテナ、Docker、Kubernetesを始める人向けの初心者向け記事です。7回シリーズの第1回目は「コンテナ」について分かりやすく解説します!

今回はこちら → その1:コンテナってなに?
その2:Dockerってなに?
その3:Dockerfileってなに?
その4:docker-composeってなに?
その5:Dockerのネットワークってどうなってるの?
その6:Dockerのファイルシステムってどうなってるの?
その7:実践!!Dockerでアプリケーション開発!!(執筆中)

↑計7回分の記事があります。
初心者向けではありますが、内容的に深い内容でプロフェッショナルが書いた記事と思います。
深い内容のわりに図解も多く、「もう少しここを理解したかった」人にとっては非常にためになる記事です。

Docker入門(第一回)~Dockerとは何か、何が良いのか~ | さくらのナレッジ
みなさん、こんにちは。Acroquest Technology (アクロクエストテクノロジー) の横山 仁(よこやま じん)と申します。 主に仕事ではインフラ関係やDevOps推進に向けた活動などに携わっています。最近で

↑計6回分の記事があります。
操作の手順中心ですので、1からハンズオンとして活用するにはちょうどいいサイトです。

実践 Docker - ソフトウェアエンジニアの「Docker よくわからない」を終わりにする本
------------------------------------------------------ 2024 年 1 月更新 本書がきっかけで「なんとか Docker を使えるようになりたい」というプログラマの方向けの入門書を秀和...

↑このボリュームの情報が0円で読めるのはすごいです。
図もあって非常にわかりやすいので、これを見て再勉強しようと思っています。

Dockerイメージの理解を目指すチュートリアル - Qiita
概要 - 自分でオレオレ hello-world イメージをビルドこのチュートリアルは、hello-world イメージを自分でビルドする例を取り上げます。手を動かしながら、Docker イメージ…

↑Dockerイメージを理解するのに最適でした。


3.Dockerコマンド一覧

Docker コマンド — Docker-docs-ja 24.0 ドキュメント
コマンドライン リファレンス — Docker-docs-ja 24.0 ドキュメント

公式ページです。
情報としては十分ですね。

Dockerコマンド - とほほのWWW入門
文字は小さいですが、コンパクトにまとまっていますので、さっと思い出したいときに便利です。

4.Dockerのネットワーク

コンテナのネットワーク — Docker-docs-ja 24.0 ドキュメント
公式ガイドのネットワークの章。
第29回 Docker Networkingの基礎知識 標準的なネットワークを理解する
引き続きDocker環境におけるネットワーキングの基礎を解説します。今回は、Dockerでの標準的なネットワークを例に、手順を交えながらその構成がどうなっているのかを理解していきましょう。
記事は古いですが、ITmediaの記事なので信用できます。ページ数も5ページ分ありますので、量もそこそこですね。
【連載】世界一わかりみが深いコンテナ & Docker入門 〜 その5:Dockerのネットワークってどうなってるの? 〜 | SIOS Tech. Lab
【連載】世界一わかりみが深いコンテナ & Docker入門 〜 その5:Dockerのネットワークってどうなってるの? 〜 | こんにちは、サイオステクノロジー武井です。いよいよ佳境に入ってきた連載「世界一わかりみが深いコンテナ &amp
先に紹介したサイトと同じサイトですが、連載の中のネットワークのページです。図解もありわかりやすく内容が深いので、理解できれば納得感があります。
Docker Compose入門 (3) ~ネットワークの理解を深める~ | さくらのナレッジ
前回(第2回)は、Apache httpdのCompose環境を例に、シンプルな開発環境の構築方法を学びました。今回取り上げるのは、Dockerに対応したアプリケーションを考える上で欠かせない、コンテナ間のDocker内
これも先に紹介したサイトのネットワークのページです。このページもわかりやすいので他のページと比較しながら見ると理解が深まります。
マルチホストでのDocker Container間通信 第1回: Dockerネットワークの基礎 - Uzabase for Engineers
こんにちは。SPEEDA開発チームの鈴木です。 調べてみるとなかなか興味深い技術であるマルチホストでのDocker Conainer間通信。 これをどのように実現しているのか説明したいと思います。 が、その前に今回の投稿では、まず基礎知識的...
少々説明が荒い感じもしますが、図の直後に実際のコマンドイメージがあるのでそのあたりは理解しやすいかもしれません。

5.Dockerのファイルシステム

【連載】世界一わかりみが深いコンテナ & Docker入門 〜 その6:Dockerのファイルシステムってどうなってるの? 〜 | SIOS Tech. Lab
【連載】世界一わかりみが深いコンテナ & Docker入門 〜 その6:Dockerのファイルシステムってどうなってるの? 〜 | こんにちは、サイオステクノロジー武井です。いよいよ佳境に入ってきた連載「世界一わかりみが深いコンテナ &am...
また先に紹介したサイトと同じですが、これがわかりやすいですね。
Dockerコンテナのファイル実体と肥大化する/var/lib/docker/overlay2の正体 #docker - クリエーションライン株式会社
Docker, Mirantis, Tech Blog |はじめに 先日にクリエーションラインが実施した Docker Fundamental Training
このあたりはなかなかまとまった情報が無いので、理解が深まります。
知らないと損する Docker イメージのレイヤ構造とは | TECHSCORE BLOG
Docker イメージをビルドした結果、作成されたイメージのサイズが大きすぎて困った経験はないでしょうか。コンパクトなイメージを作成するには、イメージの構造を知ることが鍵となります。本稿は、その前提知識となるイメージ内部についての解説記事で...
イメージのレイヤ構造について説明があります。

6.コンテナのセキュリティ

Sysdig
コンテナ・Kubernetes環境向けセキュリティ・モニタリング プラットフォーム

↑Dockerというわけではないですが、コンテナのセキュリティ対策の考え方が記載されています。

コンテナ・セキュリティの基本 ~イメージ、レジストリ、オーケストレータ、コンテナの各階層から見た脆弱性と対策 - アイマガジン|i Magazine|IS magazine
昨今のIT業界では、コンテナ仮想化がトレンドである。コンテナを利用することでテスト環境や本番環境による環境差異を最小化し、スケールアウトやバージョン管理を容易にすることで変化のスピードが早いITへの対応を

↑具体的な内容は無いですが、読みやすいサイト。

https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-190.pdf

↑英語ですが、NIST SP800-190に記載されているコンテナのセキュリティ対策。

AWS Fargate環境におけるNIST SP800-190対応についての検討 | ナレッジ/事例 TISプラットフォームサービス | 特集・レポート | ITソリューションのTIS株式会社
代表的なクラウドサービスであるアマゾン ウェブ サービス(AWS)のコンテナ環境用のサービスであるAWS Fargate上で、NIST SP800-190 にどう対応していくのか検討した内容をご紹介していきます。

↑上記のNIST SP800-190対応について、AWS Fargate環境にあてはめた場合の検討。

セキュリティ関連NIST文書について | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構
情報処理推進機構(IPA)の「セキュリティ関連NIST文書について」に関する情報です。

↑IPAのNIST SP800-190の日本語訳。


7.公式サイト

Home
Docker is a platform designed to help developers build, share, and run container applications. We handle the tedious set...

コメント

タイトルとURLをコピーしました