Docker とは?
Docker は、アプリケーションと必要なものすべてをひとまとめにして、どのサーバーでも同じように動かすためのツールです。そのパッケージをコンテナと呼びます。
エンジニアに相談する ナレッジベース
どういうものか
コンテナが登場する前は、アプリケーションをインストールするには、マシンごとにライブラリ、設定、バージョンを手作業で合わせる必要がありました。Docker では、アプリケーションはそれらを含んだイメージとして届き、Linux ホスト上で数秒で起動します。コンテナはホストのカーネルを共有するため、仮想マシンより軽量ですが、コンテナ同士の分離は弱くなります。
Docker Compose は、アプリケーションとそのデータベースのような複数のコンテナを、1 つのファイルで記述します。1 台のマシンでは足りなくなったら、Kubernetes のようなプラットフォームにコンテナを移せます。
企業での用途
- 業務アプリケーション:チケット管理、ドキュメント、社内ツールを 1 台のホストで動かします。
- 簡単なアップグレード:新しいイメージに入れ替え、不具合があれば元に戻せます。ただし、新バージョンがすでにデータベースを変更していない場合に限ります。先にデータをバックアップしてください。
- テスト環境:構成をコピーして、本番に触れずに変更を試せます。
- イメージレジストリ:バージョン管理されたアプリケーションイメージを 1 か所に保管します。
KawaConnect における Docker の使い方
Docker と Docker Compose で業務アプリケーションを動かし、その前段にリバースプロキシと TLS 証明書を置きます。自社開発ソフトウェア向けにプライベートイメージレジストリを構築し、ワークロードが 1 台のホストでは収まらなくなったら、Docker から Kubernetes へ移行します。
関連サービス
Dockerコンサルティング
Compose スタック、プロキシ、証明書、レジストリ。
LinuxとKubernetes
1 台のホストでは収まらないワークロード向けの Kubernetes。
バックアップと復旧
アプリケーションデータの、テスト済みのリストア。
詳しく見る
- Wikipedia の Dockerコンテナ、Docker の仕組み、誕生の経緯についてのわかりやすい概要。
- Docker 公式サイト製品情報と、Docker Desktop および Docker Engine のダウンロードがある企業サイト。
- Docker ドキュメントイメージのビルド、Compose ファイルの記述、コンテナの実行に関するガイドとリファレンス。