IT用語
アプリケーションと実行環境をコンテナとしてまとめ、どこでも同じように動かせるようにするソフトウェア。
Docker は、アプリケーションと、それを動かすのに必要なライブラリや設定を「コンテナ」としてまとめ、開発者のパソコンでもサーバーでも同じように動かせるようにするソフトウェアです。コンテナの技術を広めた代表的な製品です。
主な仕組み
- コンテナイメージ:アプリケーションと実行環境をまとめたひな形。Dockerfile という設定ファイルから ビルド する
- コンテナ:イメージから起動した、実際に動いている環境。OS のカーネルを共有するため、仮想マシンより軽い
- レジストリ:イメージを保存・配布する場所(Docker Hub など)
使い道
- 開発環境を、チームで同じ状態にそろえる
- CI/CD でテストやビルドを行う
- 本番でのアプリケーションの配置。多くのコンテナを管理するために Kubernetes などと組み合わせる
セキュリティ上の注意
- ベースイメージ や中の パッケージ に 脆弱性 が含まれることがある。定期的にイメージを作り直し、スキャンする
- 出所の分からないイメージを使わない(不正なプログラムが仕込まれた例がある)
- コンテナを管理者権限(root)で動かさない。ホストのファイルや Docker の操作権限を不用意にコンテナへ渡さない
- コンテナはホストとカーネルを共有するため、隔離は仮想マシンほど強くない
- イメージに シークレット を含めない









