Docker

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 ファイルの記述、コンテナの実行に関するガイドとリファレンス。

アプリケーションを 1 台のサーバーで動かしていますか?

コンテナに移行すれば、アップグレードはイメージの入れ替えになり、元に戻すこともできます。

相談を始める