Docker
https://www.docker.com/wp-content/uploads/2022/03/horizontal-logo-monochromatic-white.png.webp
Docker ドキュメント | Docker ドキュメント
アプリケーションを開発・移動・実行するためのコンテナプラットフォーム
OSS でありコンテナ仮想化を実現する
一般的にDocker Engineを意味する
Go 言語で記載されている
Linux カーネルの機能を利用している
namespaces
cgroup
etc...
構成図
http://docs.docker.jp/v1.12/_images/architecture.png
設計
1 コンテナにつき 1 プロセス
Immutable
軽量
非 root ユーザー
コンテナレジストリ
DockerHub
GCR
GHCR
ECR
脆弱性イメージの検証
Trivy
Clair
Linter
Hadolint
リモートホストで起動する
code: (bash)
# contesxt を作成
docker context create remote --docker "host=ssh://remote" --default-stack-orchestrator swarm
リモートホスト側にローカルホストのパスがマウントされる
mac の場合は /Volume がマウントされる
Terraform Provider もある
code: (hcl)
terraform {
required_providers {
docker = {
source = "kreuzwerker/docker"
version = "~> 3.0.1"
}
}
}
provider "docker" {}
table: Related
Docker Engine クライアントサーバ型アプリケーション
Docker Compose 複数のコンテナを使うDockerアプリケーションを定義・実行するツール
DockerHub アプリケーションやコンテナの構築と配信をするクラウドレジストリサービス
Docker Machine 仮想マシン上にDocker Engineをインストールするツール
Docker Desktop MacやWindows向けにDocker Engine機能を提供するアプリケーション
Docker Distribution Dockerイメージを保管・配布するサービス
Docker Swarm Dockerに対応するネイティブなクラスタリング用ツール
Kubernetes Dockerに対応するGoogleが開発するコンテナオーケストレーションツール
Reference
Docker ドキュメント日本語化プロジェクト — Docker-docs-ja 1.12.RC2 ドキュメント
入門 Docker
Play with Docker
【連載】世界一わかりみが深いコンテナ & Docker入門 〜 その1:コンテナってなに? 〜
CI での Docker Build のベストプラクティスを考えてみた - Tech Blog - Recruit Lifestyle Engineer
Docker Swarm mode を知る (secret) | 1Q77
Docker の要素技術について - STORES Tech Blog
Dockerのネットワーク管理とnetnsの関係 - めもめも
Dockerに関するキャッシュたち
#devops