この記事では、Git / GitHub の環境構築を Docker 上の Ubuntu 24.04 コンテナで行う方法を整理します。
- Docker 推奨ルート … ホストに Git を入れず、コンテナ内で
apt install gitから練習する - ローカル代替ルート … Docker が使えない場合だけ、ホストに Git を入れて同じ流れを行う
どちらも「GitHub まで疎通する」というゴールは同じですが、練習の再現性とやり直しのしやすさ が異なります。
道具箱リポジトリ: web-eng-toolbox/git_github — 手順の本体は setup/README.md
想定読者: Git は操作したことがあるが、環境構築を自分で通す機会が少ない人。Docker で同じ条件から インストール〜認証まで を繰り返し練習したい人。
本記事の範囲: コンテナの起動から Git のインストール まで。GitHub 認証・初回 push は次回 で扱います。写経・期待する出力はリポジトリ、記事は「なぜそうするか」「現場で何に効くか」を扱います。
目次
- 前提条件と Docker Desktop のインストール
- この記事で押さえる用語
- Docker 推奨ルートとローカル代替の比較
- 教材の設計 — 何が残り、何が消えるか
- 最短ルート:起動から Git インストールまで
- 停止・やり直し
- ローカル代替ルート
- Windows:ターミナルの使い分け
- 記事とリポジトリの読み方
- トラブルシュート
- まとめ
前提条件と Docker Desktop のインストール
必要な環境
| 項目 | 要件 |
|---|---|
| OS | Windows 10/11(64bit)、macOS、Linux |
| メモリ | 4GB 以上(8GB 推奨) |
| 仮想化 | BIOS で有効化されていること(Windows の場合) |
| 権限 | 管理者権限でインストール可能であること |
本記事の ホスト側 コマンド例は Windows(PowerShell) を前提にしています。コンテナ 内 の操作は bash です。
Docker Desktop のインストール手順(Windows)
- Docker Desktop 公式サイト からインストーラーをダウンロード
- インストーラーを実行し、画面の指示に従ってインストール
- インストール後、Docker Desktop を起動
- タスクバーにクジラのアイコンが表示され、「Running」になれば準備完了
Docker Desktop のインストール手順(macOS / Linux)
macOS および Linux でも、同じ Docker Desktop 公式サイト から OS 向けのインストーラーをダウンロードしてインストールします。インストール後に Docker Desktop を起動し、メニューバーやタスクトレイのアイコンが「Running」になれば準備完了です。以降の docker / docker compose コマンドはターミナルで同様に使えますが、パス表記(c:\AdTechCode\Git_GitHub\...)は各 OS の clone 先に読み替えてください。
動作確認
PowerShell で次を実行します。
docker --versiondocker compose version次のように表示されれば OK です。
Docker version 28.x.x, build xxxxxDocker Compose version v2.x.xさらに、Docker デーモンが動いているか確認します。
docker infoエラーなく情報が表示されれば、演習を始められます。
この記事で使うディレクトリ構成
Git_GitHub/├── README.md├── article.md ← この記事└── setup/ ├── README.md ← 手順の全文 ├── DOCKER.md ← Compose・イメージの参照 ├── Dockerfile ├── docker-compose.yml └── .env.exampleこの記事で押さえる用語
| 用語 | 説明 |
|---|---|
| イメージ | コンテナの設計図。本教材では git-github-setup-ubuntu:local |
| コンテナ | イメージから起動した実行環境。コンテナ名は git-github-setup-ubuntu |
| Dockerfile | イメージを作る手順書(Ubuntu 24.04 の最小構成) |
| docker-compose.yml | ビルド・起動・ボリュームを宣言する設定ファイル |
| ボリューム | コンテナを消しても残せるデータ領域。本教材では SSH 鍵用 git-github-ssh |
ホストとコンテナの役割分担
%%{init: {'theme': 'base', 'themeVariables': {'lineColor': '#000000', 'primaryBorderColor': '#333333'}}}%%flowchart LR H["ホスト PC"] -->|docker compose| C["Ubuntu コンテナ"] C -->|apt install git| G["Git 環境構築"] G -->|次回| P["GitHub 認証・push"] linkStyle default stroke:#000000,stroke-width:4pxポイント: 本教材では ホストに Git を入れません。ホストが担うのは docker compose によるコンテナの起動・停止だけです。Git のインストール以降は すべてコンテナ内 で行います。
Docker 推奨ルートとローカル代替の比較
Git / GitHub を学ぶとき、つまずきやすいのは git add より 環境のばらつき です。
- 手元の PC に Git が入っていない、バージョンや設定が人によって違う
- Windows / macOS / WSL でパスやターミナルの挙動が変わる
- SSH 鍵を Git Bash と PowerShell で別々に作ってしまう
- 「一度設定したら消えない」ので、インストールから認証までを最初からやり直す機会が少ない
Git_GitHub/setup は、Ubuntu 24.04 の最小コンテナ上で apt install git から GitHub 認証・初回 push までを、同じ条件で繰り返し練習できる「道具箱」です。
%%{init: {'theme': 'base', 'themeVariables': {'lineColor': '#000000', 'primaryBorderColor': '#333333'}}}%%flowchart TB subgraph docker["Docker 推奨ルート"] D1[docker compose build] --> D2[docker compose up] D2 --> D3[コンテナ内 apt install git] D3 --> D4[認証・push(次回)] end subgraph local["ローカル代替ルート"] L1[ホストに Git インストール] --> L2[ssh-keygen / git config] L2 --> L3[認証・push] end style docker fill:#e8f4fd style local fill:#fdf4e8 linkStyle default stroke:#000000,stroke-width:4px| 比較項目 | Docker 推奨ルート | ローカル代替ルート |
|---|---|---|
| Git のインストール場所 | コンテナ内 | ホスト(または WSL) |
| OS 差 | コンテナ内は常に Ubuntu | ホストに依存 |
| やり直し | down -v でほぼ初期状態 |
設定が残りがち |
| 講義・自習 | 同じ Compose・同じ手順 | 受講者ごとに差が出やすい |
| 向いている用途 | 環境構築の反復練習 | Docker が使えない環境 |
教材の設計 — 何が残り、何が消えるか
この教材は 「毎回、環境構築の手順を最初から」 繰り返すことを優先しています。
| データ | docker compose down |
docker compose down -v |
|---|---|---|
SSH 鍵(~/.ssh) |
ボリュームに残る | 消える(鍵の作成からやり直し) |
git config |
消える | 消える |
| HTTPS 資格情報 | 消える | 消える |
作業ファイル(/workspace) |
消える | 消える |
SSH 鍵だけは Compose の git-github-ssh ボリュームで /root/.ssh にマウントされ、-v なしの down では残ります。Git のインストール・git config・作業ファイルは毎回やり直し — これが意図した練習サイクルです。
最初から全部やり直す ときは docker compose down -v を使います。SSH 鍵も作り直す場合は、GitHub に登録済みの公開鍵の整理も必要になることがあります。
最短ルート:起動から Git インストールまで
docker-compose.yml の内容
services: ubuntu: build: . image: git-github-setup-ubuntu:local container_name: git-github-setup-ubuntu working_dir: /workspace command: ["sleep", "infinity"] volumes: - git-github-ssh:/root/.sshvolumes: git-github-ssh:| 項目 | 内容 |
|---|---|
build: . |
同ディレクトリの Dockerfile からビルド |
container_name |
コンテナ名 git-github-setup-ubuntu |
working_dir: /workspace |
コンテナ内の作業ディレクトリ(ホスト非マウント) |
git-github-ssh |
SSH 鍵だけ永続化するボリューム |
Dockerfile には Git は含めません。apt install git 自体を練習するためです。
1. コンテナを起動して入る(ホスト)
方法A:-f でファイルを指定
docker compose -f c:\AdTechCode\Git_GitHub\setup\docker-compose.yml builddocker compose -f c:\AdTechCode\Git_GitHub\setup\docker-compose.yml up -ddocker compose -f c:\AdTechCode\Git_GitHub\setup\docker-compose.yml exec ubuntu bash方法B:ディレクトリに移動して実行(おすすめ)
cd c:\AdTechCode\Git_GitHub\setupdocker compose builddocker compose up -ddocker compose exec ubuntu bash期待する結果(例)
docker compose build… 末尾にSuccessfully builtなどdocker compose up -d…Container git-github-setup-ubuntu Started- プロンプトが
root@...:/workspace#になる
カレントは /workspace(コンテナ専用・ホストの setup フォルダとは無関係)。既定ユーザーは root のため sudo なしで apt できます。
2. コンテナ内で Git を入れる
apt updateapt install -y gitgit --versiongit version 2.x と表示されれば OK です。
3. 以降は次回の記事へ
GitHub 認証(SSH または HTTPS)→ git config → 初回 push は setup/README.md — 認証以降 で進めてください。
時間の目安
| レイヤー | 目安 | 範囲 |
|---|---|---|
| 最小(本記事) | 約 5〜15 分 | 目的・構成・起動〜Git インストール |
| 標準(本記事+認証) | 約 45〜90 分 | 認証〜git config〜初回 push まで |
| 深掘り | さらに 30 分〜 | chmod、ホストへコピー、停止・再ビルドなど |
停止・やり直し
ホストで実行します。
cd c:\AdTechCode\Git_GitHub\setupdocker compose stop # コンテナだけ停止(SSH ボリュームは残る)docker compose down # コンテナ削除(SSH ボリュームは残る)docker compose down -v # コンテナ+ボリューム削除(SSH 鍵も消える)| 操作 | case01(Docker 記事)との対応 |
|---|---|
docker compose down |
case02 の down と同じ |
docker compose down -v |
ボリュームも削除(本教材の「まっさらに戻す」) |
Dockerfile を変えたあとは docker compose build を再度実行してください(必要なら --no-cache)。
Compose 定義・イメージ名の詳細は setup/DOCKER.md を参照してください。
ローカル代替ルート
本教材の 推奨は、ホストに Git を入れずコンテナ内で練習する ルートです。以下は Docker Desktop が使えない・使わない 場合だけの代替です。
| 読み替え | 内容 |
|---|---|
/workspace |
任意の作業フォルダ |
~/.ssh |
ログイン中ユーザーのホーム配下 |
| スキップ | docker compose / docker cp / コンテナ起動 |
Git のインストール例
- Windows: Git for Windows — Git Bash で
ssh-keygenも使えることが多い - WSL2 / Ubuntu:
sudo apt install -y git openssh-client - macOS: Xcode コマンドラインツール、または
brew install git
インストール後は認証 → git config → push と同じ順序で進めます。詳細は setup/README.md — ローカル代替 を参照してください。
Windows:ターミナルの使い分け
| やること | 推奨ターミナル |
|---|---|
docker compose |
PowerShell(推奨)または Git Bash |
git / ssh(Docker 推奨ルート) |
コンテナ内(docker compose exec ubuntu bash) |
git / ssh(ローカル代替のみ) |
Git Bash |
迷ったとき: Docker 推奨ルートでは、ホストは PowerShell で docker compose だけ、Git / SSH / push は すべてコンテナ内 です。Git Bash と PowerShell で別々に SSH 鍵を作らないよう注意してください。
記事とリポジトリの読み方
| 読みたいこと | 行き先 |
|---|---|
| 手順の全文・期待する出力 | setup/README.md |
| イメージ名・Compose 定義・ライフサイクル | setup/DOCKER.md |
| 停止・やり直し | setup/README.md — 停止 |
トラブルシュート
docker daemon is not running / Cannot connect to the Docker daemon
原因: Docker Desktop が起動していない。
対処:
- タスクバーの Docker アイコンを確認
- Docker Desktop を起動する
- ステータスが「Running」になるまで待つ
- 再度コマンドを実行
docker infono configuration file provided: not found
原因: docker compose を setup フォルダ以外 で実行している。
対処:
cd c:\AdTechCode\Git_GitHub\setupdocker compose up -dまたは -f で docker-compose.yml のパスを指定します。
コンテナに入れない
原因: コンテナが起動していない。
対処:
cd c:\AdTechCode\Git_GitHub\setupdocker compose psdocker compose up -ddocker compose exec ubuntu bashやり直したのに SSH 鍵や設定が残る
原因: down -v ではなく down だけ実行している(SSH ボリュームは残る)。
対処:
docker compose down -vGitHub に登録済みの公開鍵がある場合は、作り直し後に整理が必要になることがあります。
ホストの setup フォルダにファイルが無い
原因: /workspace はコンテナ専用。ホストの setup とはマウントしていない。
対処: コンテナ内のファイルをホストへ出すときは docker cp。手順は setup/README.md を参照してください。
docker compose コマンドが見つからない
原因: 古い docker-compose(ハイフン付き)と新しい docker compose(スペース区切り)の違い。
対処:
docker compose versionDocker Desktop の最新版では docker compose(スペース区切り)が標準です。
まとめ
| Docker 推奨ルート | ローカル代替ルート | |
|---|---|---|
| Git の場所 | コンテナ内 | ホスト |
| 起動 | docker compose up |
(不要) |
| やり直し | docker compose down -v |
設定が残りがち |
| 学べること | 同条件での環境構築の反復 | Docker なし環境での代替 |
| 向いている用途 | 本教材の主ルート | Docker が使えないとき |
- Git 環境構築の練習は Git_GitHub/setup の Docker コンテナで行う
docker compose down -vでまっさらに戻し、インストールから何度でも挑戦できる- 本記事は起動〜Git インストールまで。認証・push は setup/README と次回の記事へ
次のステップとしては、setup/README.md の SSH 鍵または HTTPS / PAT から、GitHub 認証と初回 push まで進めてください。