0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Docker学習ログ(個人用メモ)(情報のごった煮)

Last updated at Posted at 2025-01-23

Dockerを学習する目的

可搬性のある開発環境構築ができるようになりたい あと自分で適切な判断が下せる水準までレベルアップしたい

この記事の概要

この記事は学習の進捗状況により適宜内容の追記を行います。個人用のメモやログとして公開しております。

コメント欄でおすすめのチュートリアル・記事・ドキュメント・学習方法・動画がありましたら是非教えてください あと、質問などにも答えて頂けると助かります。頂いたコメントなどはこの記事に適宜反映していこうと思います。

初手O'REILLY Docker

出版日が2016年08月という古めの本の為、あんまり実践的な本ではないなと感じてはいるが、とりあえずざっくりとした概要を掴むのならO'REILLY が一番優れていると信じているので読む。351P 値段3,600円 中古で購入 人気があるのか中古市場でも中々高額。

O'REILLY Docker 簡易的な目次

目次 P
1 1 コンテナとはなにか、そしてなぜ注目されているのか 3
2 インストール 13
3 はじめの一歩 19
4 Dockerの基礎 35
2 Dockerのあるソフトウェアライフサイクル 69
5 開発でのDockerの利用 71
6 シンプルなWebアプリケーションの作成 85
7 イメージの配布 99
8 Dockerを使った継続的なインテグレーションとテスト 117
9 コンテナのデプロイ 139
10 ロギングとモニタリング 177
3 ツールとテクニック 207
11 ネットワーキングとサービスディスカバリ 209
12 オーケストレーション、クラスタリング、管理 257
13 セキュリティとコンテナに対する制限 301

O'REILLY Docker 読んだ感想

2部の7章まではギリなんとかついていけてたが、Dockerを使った継続的なインテグレーションとテストの章からは高度な内容になり、少し置いてけぼりを食らった気がします。jenkinsがわからん。それまでの章はハンズオン形式でDockerに慣れていこうよという形式でした。記事を書いてアウトプットするのに夢中でハンズオンできていないので、ソースコードを後で読み込んで慣れようと思います。(古い本なので動くかどうか少し怪しいのもある) 後述にDocker周辺・関連技術用語集を作りました。とにかく多くの聞きなれない専門用語が多く、中々素早く読めるような本ではありません。腰を据えて適宜ググりながら読む本だと思います。

O'REILLY Docker 内のソースコード置き場
Github リポジトリ
筆者のプロフィールページ

次に読む本 Docker実践ガイド 第3版 (impress top gear)

2023/2/21に出版の中々新しめの本。人気があるらしく第3版も出ているので内容にも期待できそう。値段Kindle版 3,762円

Docker実践ガイド 第3版 簡易的な目次

目次
1 Dockerとは
2 Docker導入前の準備
3 Docker Community Edition
4 Dockerfile
5 ネットワーキング
6 資源管理
7 管理ツール
8 Kubernetesによるコンテナオーケストレーション
9 コンテナ管理プラットフォーム

Docker実践ガイド 第3版 読んだ感想

  • 未読

(ほぼ)公式リンク集

Docker周辺・関連技術用語集

用語 意味
Docker アプリケーションをすばやく構築、テスト、デプロイできるソフトウェアプラットフォーム
Dockerhub Dockerイメージ(コンテナ)の共有サービス
DockerDesktop docker用のGUIソフト
Dockerimage Dockerコンテナの動作環境となるテンプレートファイル
Dockerfile Dockerfile はテキストファイルであり、イメージを作り上げるために実行するコマンドライン命令を、すべてこのファイルに含められる。
DockerToolbox Docker Toolbox は Mac と Windows システム上に Docker 環境を迅速にインストールして起動します。
Swarm Docker コンテナをクラスタリングして管理するオープンソースのツール
Kitematic Mac や Windows PC 上で、Docker を簡単かつ流れるように使うために構築されたオープンソースのプロジェクト 開発が中止されてるっぽい
Machine Docker Engine を搭載した仮想マシン(Docker ホスト)を作成・管理するツール
コンテナ コードと依存関係を一緒にパッケージ化するアプリ レイヤーの抽象化
Dockerデーモン Dockerデーモン_は Linux のデーモンプロセス
Dockerクライアント Docker とのやりとりを行うためのもの
Dockerレジストリ レジストリ(registry)とは、ストレージとコンテント配送システムであり、Docker イメージの名前を異なったタグを付けられたバージョンで保持
SElinux SELinux とは _Security-Enhanced Linux の略_で、強制アクセス制御を実現する Linux システム用のセキュリティ機構
Dockerエンジン アプリケーションを構築して コンテナ化するためのオープンソースの コンテナ化技術
DockerCompose 複数のコンテナを効率的に操作するためのツール
Docker Trusted Registry 元々Docker Hub Enterpriseと呼ばれていたDockerプライベートリポジトリを実行するサーバー
オーケストレーション 複数のシステムやアプリケーション、サービスを調整して実行する技術
クラスタ管理 複数のコンピュータをまとめて1つのシステムとして管理すること
ホスティング インターネット上でウェブサイトやメールサービスなどのデータを運用できるようにするサービス
.dockerignore DockerfileのCOPYコマンドでコピーしたくないファイルやディレクトリを指定するファイルのこと
SSH ネットワークを介して別のコンピューターやネットワーク機器に安全に接続するためのプロトコル
Dockerfileの命令 https://qiita.com/FumiyaShibusawa/items/a0be39d28139a044157d
Docker リンク 同一ホスト上のコンテナ間で通信する際に、接続したい相手のネットワーク情報(IPアドレスなど)を取得する仕組み。
Docker ボリューム Docker コンテナーにおいて生成され利用されるデータを、永続的に保持する目的で利用される仕組みです。
Docker コマンド docs-ja
サスペンド IT用語として、実行中のプログラムやデバイスを一時停止させること
Docker Registry Docker Registryは、Dockerイメージを一元管理するためのリポジトリサービスです。
jenkins CI/CDツールの1つで、アプリケーションのビルド、テスト、デプロイといったタスク実行を自動化
Docker-in-Docker コンテナ内にホストマシンとは完全に独立した_docker_環境を構築する手法
スモークテスト 開発途上のソフトウェアをテスト(試験)する手法の一つで、開発・修正したソフトウェアを実行可能な状態に組み立て、起動するかどうかや基本的な機能が動作するかなどをざっと確認すること。
継続的インテグレーション 開発者が自分のコード変更を定期的にセントラルリポジトリにマージし、その後に自動化されたビルドとテストを実行する DevOps ソフトウェア開発の手法
継続的デリバリー ソフトウェア開発手法の 1 つで、コード変更が発生すると、自動的に実稼働環境へのリリース準備が実行されるというもの
シェルスクリプト オペレーティングシステムのシェルまたはコマンドラインインタプリタから実行可能なコマンドの一連の流れをファイルにして再利用できるようにしたもの
プロセスマネージャ プロセスの運用活動を監視し、プロセスが期待通り実行されていることに責任を負う
Ansible IT機器の管理を効率化・自動化するオープンソースの構成管理ツールです。 Ansibleを使うことでIT機器の煩雑な設定作業が自動化されるため、管理者の負担を大幅に軽減できます。
cAdvisor Googleが提供および管理するオープンソースのコンテナ監視ツール
prometheus プル型のリソース監視ソフトウェア
アンバサダー コンテナ同士が通信する
etcd 設定情報の共有とサービス検出のための分散KVS
SkyDNS ググってもわからない
Consul クラスタ管理ツール
zookeeper 設定情報の集中管理や名前付けなどのサービスを提供するソフトウェア
サービスディスカバリ サービスのインスタンスがもつネットワーク上の位置を決定すること
SmartStack
Eureka
WeaveDNS
Docker-discover
Flannel
Calico
Swarm
fleet
Kubernetes コンテナの運用管理と自動化を行うために設計されたオープンソースソフトウェア
Mesos
Marathon
Rancher
Clocker
Tutum

後で読む

Dockerの情報を得るコマンド

docker コマンド 説明 リンク
docker help help コマンドは各コマンドの使い方に関する情報を表示します。 docs-ja
docker version Docker バージョン情報を表示します。 docs-ja
docker info システムの幅広い情報を表示します。 docs-ja

コンテナの情報を得るコマンド

docker コマンド 説明 リンク
docker events サーバからリアルタイムのイベントを取得します。 docs-ja
docker inspect Docker オブジェクト上の ローレベル 情報を返します。 docs-ja
docker logs コンテナのログを取得します。 docs-ja
docker port ポート 割り当て の一覧か、特定のコンテナに対する 割り当てを表示します。 docs-ja
docker ps コンテナを一覧表示します。 docs-ja
docker top コンテナで実行中のプロセスを表示します docs-ja
docker diff コンテナのファイルシステム上で、ファイルやディレクトリの変更を調査します。 docs-ja

Docker要注意事項

攻撃名
カーネルの不正利用
Dos攻撃
コンテナブレークアウト
毒入りのイメージ
秘密情報の漏洩
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?