【2026年9月最新】Dockerとは?コンテナ技術の基礎からUbuntu環境構築まで完全解説|インストール〜主要コマンド
「Dockerって名前はよく聞くけど、結局何をするツールなの?」——開発現場やインフラの話題で必ず登場するのがDockerです。
Docker(ドッカー)は、コンテナ型仮想化という技術を使って、アプリケーションの実行環境をまるごとパッケージ化し、どのPC・どのサーバーでも同じように動かせるようにするツールです。「私のPCでは動くのに本番サーバーでは動かない」という開発現場の古典的な悩みを解決する仕組みとして、2013年の登場以来急速に普及しました。
この記事では、Dockerの基本概念から、インストール手順、実務で使う主要コマンド、そして具体的なUbuntu環境の構築手順までを一通り解説します。後半では、弊社(株式会社GENAI)がClaude Codeを使ってDocker環境の構築・トラブル対応をどこまで自動化しているかの実例も紹介します。
この記事を最後まで読むと、次のことが分かります。
01 WHAT IS DOCKER Dockerとは何か?コンテナ型仮想化の基礎 従来の仮想マシン(VM)との違いを理解する
Dockerは、アプリケーションとその実行に必要な設定・ライブラリを1つの「コンテナ」としてまとめ、どの環境でも同じように動かせるようにするプラットフォームです。この仕組みの核となるのがコンテナ型仮想化という技術です。
📚 用語解説
コンテナ型仮想化:ホストOS(土台となるOS)のカーネル(中核部分)を複数のアプリケーションで共有しながら、それぞれを独立した実行環境として隔離する技術。1台のPC上に複数の「独立した箱」を作るイメージです。
従来主流だった仮想マシン(VM)は、1台の物理サーバーの中に「OSごと丸ごと」再現した仮想環境を複数動かす方式でした。この方式は確実に環境を分離できる一方、OS自体を毎回起動するため起動に数分かかり、リソース消費も重いという欠点がありました。
| 項目 | 仮想マシン(VM) | Dockerコンテナ |
|---|---|---|
| 隔離の単位 | OSごと丸ごと仮想化 | ホストOSのカーネルを共有しプロセス単位で隔離 |
| 起動時間 | 数十秒〜数分 | 数秒未満(プロセス起動と同程度) |
| リソース消費 | 重い(OS分のメモリ・CPUを消費) | 軽い(アプリ本体分のみ) |
| 環境の再現性 | 仮想ディスクイメージごと共有 | イメージファイル1つで完全再現 |
📚 用語解説
カーネル:OSの中核部分で、ハードウェア(CPU・メモリ等)とアプリケーションの橋渡しをするプログラム。Dockerコンテナはこのカーネルをホストと共有するため、VMのようにOSをまるごと起動する必要がなく、圧倒的に軽量・高速に動作します。
1-1. Dockerが解決する「環境差異」の問題
開発現場でよく起きるのが、「開発者Aのパソコンでは正常に動くのに、開発者Bのパソコンや本番サーバーではエラーになる」という事故です。OSのバージョン、ライブラリのバージョン、設定ファイルのわずかな違いなど、原因は多岐にわたります。
Dockerを使うと、必要な環境設定を「Dockerイメージ」というファイル1つに固定できるため、開発者のPC・テスト環境・本番サーバーのどこであっても、全く同じ環境を再現できます。これにより「環境差異による謎のバグ」を大幅に減らせます。
複数人のチーム開発、本番環境へのデプロイ、そして「特定のOS(例: Ubuntu)でしか動作確認していないツールを、自分のWindows/Mac上で試したい」というケースです。この記事の後半で扱うUbuntu環境構築は、まさにこの3つ目の典型例です。
1-2. Dockerが使われる代表的なシーン
Dockerの用途は開発現場だけにとどまりません。実務では大きく分けて以下のような場面で活用されています。
特に最後の「使い捨て環境での検証」は、この記事で扱うUbuntu環境構築のような場面で威力を発揮します。自分のPCに直接インストールすると設定が絡み合って収拾がつかなくなるようなツールも、コンテナの中であれば気兼ねなく試せて、不要になれば削除するだけで痕跡が残りません。
02 INSTALLATION Dockerのインストール方法 Windows / Mac / Linux それぞれの手順
Windows・MacではDocker Desktopという統合アプリケーションをインストールするのが最も簡単な方法です。Docker Desktopには、Docker本体(エンジン)・コマンドラインツール・管理用のGUI画面がすべて含まれています。
2-1. Windows / Macでのインストール手順
📚 用語解説
WSL2(Windows Subsystem for Linux 2):Windows上でLinuxカーネルを直接動作させる仕組み。Docker DesktopのWindows版は、このWSL2を土台にコンテナを動かす方式が標準になっており、事前にWSL2を有効化しておく必要があります。
Docker Desktopは、従業員数や年間収益が一定規模を超える企業で商用利用する場合、有料サブスクリプションが必要になる場合があります(Docker社の利用規約による)。個人利用・小規模企業・非商用利用は無料枠の対象です。導入前に自社の規模に応じたライセンス条件を公式サイトで確認してください。
2-2. Linuxでのインストール手順
Linux(Ubuntu等)では、Docker DesktopではなくDocker Engineを直接インストールするのが一般的です。Ubuntuの場合、公式リポジトリを追加した上でパッケージ管理コマンド(apt)を使ってインストールします。
公式ドキュメントに沿って、(1) 必要な依存パッケージの導入 (2) Docker公式GPGキーとリポジトリの追加 (3) apt update (4) apt install docker-ce という順序でインストールします。インストール後はsudo docker run hello-worldを実行し、正常にメッセージが表示されれば成功です。
03 CORE COMMANDS Dockerの主要コマンド完全解説 実務で頻繁に使う7つのコマンドを押さえる
Dockerには数多くのコマンドがありますが、まず押さえるべきは以下の7つです。
| コマンド | 役割 |
|---|---|
| docker pull イメージ名 | Docker Hubからイメージをダウンロードする |
| docker images | ローカルにあるイメージの一覧を表示する |
| docker run オプション イメージ名 | イメージからコンテナを起動する |
| docker ps | 起動中のコンテナ一覧を表示する(-aで停止中も含め全表示) |
| docker exec -it コンテナ名 コマンド | 起動中のコンテナ内でコマンドを実行する |
| docker stop コンテナ名 | 起動中のコンテナを停止する |
| docker rm / docker rmi | コンテナ(rm)またはイメージ(rmi)を削除する |
📚 用語解説
Docker Hub:Dockerイメージを公開・共有するための公式レジストリ(保管庫)サービス(hub.docker.com)。UbuntuやNginx、MySQLなど、有名なソフトウェアの公式イメージが無料で公開されており、docker pullコマンドで誰でも取得できます。
3-1. docker pull と docker images
docker pull ubuntu:18.04のように実行すると、Docker HubからUbuntu 18.04のイメージがダウンロードされます。コロン以降の「18.04」はタグと呼ばれ、バージョンを指定する部分です。ダウンロード済みのイメージはdocker imagesで一覧確認できます。
📚 用語解説
イメージとタグ:イメージとは、コンテナを作るための「設計図(テンプレート)」です。タグはそのイメージのバージョンを識別する文字列で、ubuntu:18.04やubuntu:latestのように「イメージ名:タグ」の形式で指定します。
3-2. docker run でコンテナを起動する
イメージ(設計図)から実際に動く実体であるコンテナを作るのがdocker runコマンドです。
docker run -it -d --name my-ubuntu ubuntu:18.04
このコマンドは、ubuntu:18.04イメージから「my-ubuntu」という名前のコンテナを作成します。-dはバックグラウンドで動かす指定、-itはbashにtty(擬似端末)を与えてコンテナを起動し続けさせるための指定です。これが無いとbashが即座に終了し、コンテナ自体も停止してしまいます。
📚 用語解説
イメージとコンテナの関係:イメージが「クッキーの型」だとすると、コンテナは「その型で焼いた実際のクッキー」に相当します。1つのイメージから、同時に複数のコンテナを作ることもできます。
3-3. docker ps と docker exec
docker psを実行すると、現在起動中のコンテナの一覧(コンテナID・名前・状態など)が表示されます。停止中のコンテナも含めて全て見たい場合はdocker ps -aを使います。
起動中のコンテナの中に入って操作したい場合はdocker exec -it my-ubuntu /bin/bashのように実行します。これにより、あたかもUbuntuサーバーにSSH接続したかのように、コンテナ内部でコマンドを実行できるようになります。
docker execで入った状態からexitすると、bashのセッションが終了するだけで、コンテナ自体(-dで起動している場合)は動き続けます。コンテナそのものを止めたい場合は、別途docker stopを実行する必要があります。
3-4. docker stop / rm / rmi で片付ける
使い終わったコンテナはdocker stop my-ubuntuで停止し、docker rm my-ubuntuで削除できます。イメージ自体が不要になった場合はdocker rmi ubuntu:18.04で削除します。停止しただけのコンテナはディスク容量を消費し続けるため、検証が終わったら削除する習慣をつけると管理がしやすくなります。
イメージを
取得する
コンテナを
起動する
コンテナ内で
作業する
コンテナを
停止する
不要になったら
削除する
04 DOCKERFILE & COMPOSE Dockerfileとdocker composeの基礎 自分だけのイメージを作る・複数コンテナをまとめて管理する
Docker Hub上の既製イメージをそのまま使うだけでなく、実務では自分たちのアプリケーション用にカスタマイズしたイメージを作ることがよくあります。そのための設計図を記述するファイルがDockerfileです。
📚 用語解説
Dockerfile:どのベースイメージを使い、何をインストールし、どのコマンドを実行してイメージを作るかを記述したテキストファイル。docker buildコマンドで、このファイルの内容に沿ってオリジナルのイメージが生成されます。
| Dockerfileの主な命令 | 役割 |
|---|---|
| FROM | ベースとなるイメージを指定する(例: FROM ubuntu:18.04) |
| RUN | イメージ構築時に実行するコマンドを指定する(例: パッケージのインストール) |
| COPY | ホスト側のファイルをイメージ内にコピーする |
| CMD | コンテナ起動時に実行するデフォルトコマンドを指定する |
もう1つ実務で頻出するのがdocker compose(旧称docker-compose)です。Webアプリケーションの多くは「アプリ本体」「データベース」「キャッシュサーバー」のように複数のコンテナを連携させて動かす必要があり、それぞれを個別にdocker runで起動・管理するのは煩雑です。
📚 用語解説
docker compose:複数のコンテナの構成(使用イメージ・ポート・環境変数など)を1つのYAMLファイル(compose.yml)にまとめて記述し、docker compose upという1つのコマンドで一括起動できるようにするツール。
Dockerfileは「1つのコンテナの中身をどう作るか」を定義するもの、docker composeは「複数のコンテナをどう連携させて動かすか」を定義するものです。実務では、まずDockerfileで各サービスのイメージを作り、それらをdocker composeでまとめて管理するのが一般的な流れです。
05 HANDS-ON 実践:Ubuntu 18.04コンテナを構築する コマンドを実際の手順に沿って動かしてみる
ここまでの知識を踏まえて、実際にUbuntu 18.04のコンテナを構築する手順を追ってみましょう。WindowsやMacの中に、まるごと1台のUbuntuサーバーが立ち上がるようなイメージです。
docker pull ubuntu:18.04を実行し、Ubuntu 18.04のイメージをダウンロードします。docker imagesを実行し、ダウンロードしたイメージが一覧に表示されることを確認します。docker run -it -d --name my-ubuntu ubuntu:18.04を実行し、コンテナを起動します。docker exec -it my-ubuntu /bin/bashを実行すると、Ubuntu内部のコマンドライン(bash)が使えるようになります。exitでbashを抜け、docker stop my-ubuntu→docker rm my-ubuntuの順でコンテナを停止・削除します。Ubuntu 18.04は2023年4月に標準サポートが終了したバージョンです。学習用途で「軽量・枯れた環境で試したい」場合には有効ですが、実務で新規に環境を構築する場合は、サポートが継続している新しいLTS(長期サポート)版のUbuntuイメージを利用することを推奨します。
06 FOR NON-ENGINEERS 【独自】非エンジニアが知っておくべき「Dockerが業務に効く理由」 エンジニアの工数を経営目線で理解する
ここからは視点を変えて、自社にエンジニアを抱える経営者・管理職に向けた内容です。「環境構築に時間がかかっている」「本番障害の原因が環境差異だった」という報告を受けたとき、Dockerの導入がどう効いてくるのかを理解しておくと、開発チームとの会話の解像度が上がります。
もし自社の開発チームがDockerを使っていない場合、「なぜ使っていないのか」を一度確認してみる価値があります。既存システムが古い構成に依存している、学習コストが見合わないと判断されている等、理由は様々ですが、その判断が最新の状況でも妥当かを見直すきっかけになります。
07 GENAI CASE STUDY 【独自データ】Claude CodeでDocker環境構築を代行させる 弊社が実際にどこまでAIエージェントへ任せているか
弊社(株式会社GENAI)ではClaude Max 20xプラン(月額$200、約30,000円)を契約し、経営・営業・広告・経理・秘書業務に加えて開発環境の構築・検証作業にもClaude Codeを日常的に使っています。ここでは、Dockerのようなコマンドライン操作をAIエージェントにどこまで任せられるかを、実運用の感覚で共有します。
| 作業内容 | 従来の所要時間(目安) | Claude Code活用時 |
|---|---|---|
| 特定バージョンのLinux環境を用意して動作検証 | 30分〜1時間(コマンド確認込み) | 数分(指示から実行・確認まで) |
| Dockerfileの新規作成 | 30分〜(構文の調べ物込み) | 要件を伝えるだけで初稿を提示、微調整のみ人が確認 |
| コンテナ起動時のエラー原因調査 | 30分〜数時間(ログを読み解く時間) | エラーログを渡すだけで数分で切り分け |
上記は弊社の肌感ベースの数値であり、検証したい環境の複雑さによって変動します。あくまで「AIエージェントを環境構築作業に組み込むとどの程度の体感差が出るか」の参考情報としてご覧ください。
Claude Codeは、ターミナル上のコマンド実行・ファイル編集・エラーログの解析までを一連の流れとして自律的に行えるエージェント型のAIです。「Ubuntuのコンテナを立てて、このツールが動くか試して」といった日本語の指示を渡すだけで、必要なDockerコマンドを自分で判断して実行してくれます。
日本語で
やりたいことを伝える
Claude Codeが
Dockerコマンドを判断
実行結果・エラーを
自動で確認
問題があれば
自律的に修正・再実行
もちろん、Dockerの仕組みそのものを理解している方が、AIの出力を検証する精度は上がります。この記事で紹介した基礎知識と、AIエージェントによる実行代行は対立する話ではなく併用するものだと捉えてください。
7-1. 非エンジニアがAIエージェントに任せる際の注意点
08 CONCLUSION まとめ ── Dockerの基礎と、環境構築の未来 知識とAI活用は両立する
この記事では、Dockerの基本概念(コンテナ型仮想化)、インストール手順、主要コマンド、Dockerfile/docker composeの基礎、Ubuntu環境構築の実践手順、そして非エンジニアが押さえておくべき視点までを整理しました。最後にポイントを振り返ります。
最後にお伝えしたいのは、「Dockerを覚えること」と「AIエージェントに任せること」は対立しないという点です。基礎を理解している人ほど、AIの出力を正しく検証でき、結果として開発全体のスピードと安全性の両方が上がります。
開発環境の構築・検証、AIエージェントでどこまで圧縮できるか診断します
環境構築・トラブル対応など、目に見えにくいエンジニア工数をどこまでAIに任せられるか。
弊社の実運用ノウハウをベースに、個別に導入設計のご相談を承ります。
ここから先の進め方は、大きく2つあります。
自社で回せるようになりたい方は、AI鬼管理でClaude Code/Codexの使い方から業務設計・社内定着まで伴走を受けながら、社内に仕組みを作る道があります。
覚えるより任せたい方は、AI社員AIKATAでこの記事のような定型業務を丸ごと預ける道があります。料金は月30万円の月額定額、追加費用は0円です。
どちらが合うかは、業務量と社内体制次第です。無料相談・無料適合診断で、貴社の場合はどちらが向くかからご相談いただけます。
NEXT STEP
この記事の内容を、あなたのビジネスで
実践してみませんか?
よくある質問
Q. Dockerは無料で使えますか?
A. 個人利用・小規模事業・非商用利用は無料で利用できます。ただし従業員数や年間収益が一定規模を超える企業がDocker Desktopを商用利用する場合、有料サブスクリプションが必要になることがあるため、自社の規模に応じて公式サイトのライセンス条件を確認してください。
Q. DockerとVMware/VirtualBoxのような仮想マシンはどう違いますか?
A. 仮想マシンはOSごと丸ごと仮想化するのに対し、Dockerはホストのカーネルを共有してアプリケーション単位で隔離します。そのためDockerの方が起動が速く、リソース消費も少ないのが特徴です。一方、異なる種類のOS(例: WindowsコンテナとLinuxコンテナを同一ホストで直接)を混在させたい場合など、完全な独立性が必要な場面ではVMが選ばれることもあります。
Q. コンテナを停止すると中のデータは消えますか?
A. docker stopで停止しただけではデータは残っており、再度docker startで起動すれば復元されます。ただしdocker rmでコンテナ自体を削除すると、コンテナ内に保存していたデータは失われます。永続化したいデータは「ボリューム」という仕組みを使って、コンテナの外部に保存するのが推奨されます。
Q. Docker Hubにあるイメージは安全ですか?
A. 公式イメージ(Official Images)として認定されているものは、Docker社や各ソフトウェアの開発元による一定の品質・セキュリティチェックを経ています。ただし誰でも投稿できる一般ユーザーのイメージも存在するため、出所が不明なイメージを本番環境で使う際は内容を確認することが推奨されます。
Q. 非エンジニアでもDockerを使えるようになりますか?
A. pull・run・ps・exec・stopという基本的な流れだけであれば、数時間の学習で扱えるようになります。Dockerfileの本格的な設計やネットワーク・ボリュームの高度な設定は経験が必要ですが、既存のイメージを使う範囲であれば非エンジニアでも十分に習得可能です。
Q. docker composeとKubernetesは何が違いますか?
A. docker composeは1台のマシン上で複数コンテナを連携させるための軽量なツールです。一方Kubernetesは、複数のサーバーにまたがって大量のコンテナを自動管理する、より大規模・高度な運用向けの仕組みです。小規模なアプリはdocker composeで十分なケースが多く、大規模な本番運用でKubernetesが検討されます。
Q. Claude CodeにDocker環境構築を任せる場合、費用はどれくらいかかりますか?
A. 弊社が契約しているClaude Max 20xプランは月額$200(約30,000円)で、環境構築を含む複数の業務用途で共有して使っています。API従量課金とは異なり定額制のため、使えば使うほど追加費用がかさむ心配がない点が導入しやすいポイントです。
Q. コンテナ内のファイルを、ホスト側のPCから直接編集することはできますか?
A. できます。「ボリューム」または「バインドマウント」という仕組みを使うと、ホスト側の特定フォルダとコンテナ内のフォルダを紐付けられます。これにより、使い慣れたエディタでホスト側からファイルを編集しつつ、実行はコンテナ内で行うという開発スタイルが可能になります。
Q. Macの新しいチップ(Apple Silicon)でDockerは問題なく動きますか?
A. Docker DesktopはApple Silicon(M1/M2以降)に対応しています。ただし、Intel向けに作られた一部の古いイメージは、アーキテクチャの違いにより動作が遅くなったり、専用の対応版イメージが必要になったりする場合があります。公式にArm64対応と明記されたイメージを選ぶとトラブルが少なくなります。
Claude Codeで業務自動化を90日で叩き込む
経営者向けの伴走型パーソナルトレーニング
AI鬼管理/AI社員AIKATAへのお問い合わせ
この記事を読んで気になった方へ。
専門スタッフが、御社に最適な
業務自動化・業務代行プランを無料でご提案します。




