TS-Tech
DevOps

Git/GitHub環境構築、Dockerを使用した練習方法

12
  • Git/GitHub
  • Docker

この記事では、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 は次回 で扱います。写経・期待する出力はリポジトリ、記事は「なぜそうするか」「現場で何に効くか」を扱います。


目次

  1. 前提条件と Docker Desktop のインストール
  2. この記事で押さえる用語
  3. Docker 推奨ルートとローカル代替の比較
  4. 教材の設計 — 何が残り、何が消えるか
  5. 最短ルート:起動から Git インストールまで
  6. 停止・やり直し
  7. ローカル代替ルート
  8. Windows:ターミナルの使い分け
  9. 記事とリポジトリの読み方
  10. トラブルシュート
  11. まとめ

前提条件と Docker Desktop のインストール

必要な環境

項目 要件
OS Windows 10/11(64bit)、macOS、Linux
メモリ 4GB 以上(8GB 推奨)
仮想化 BIOS で有効化されていること(Windows の場合)
権限 管理者権限でインストール可能であること

本記事の ホスト側 コマンド例は Windows(PowerShell) を前提にしています。コンテナ の操作は bash です。

Docker Desktop のインストール手順(Windows)

  1. Docker Desktop 公式サイト からインストーラーをダウンロード
  2. インストーラーを実行し、画面の指示に従ってインストール
  3. インストール後、Docker Desktop を起動
  4. タスクバーにクジラのアイコンが表示され、「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 -dContainer git-github-setup-ubuntu Started
  • プロンプトが root@...:/workspace# になる

カレントは /workspace(コンテナ専用・ホストの setup フォルダとは無関係)。既定ユーザーは root のため sudo なしで apt できます。

2. コンテナ内で Git を入れる

apt updateapt install -y gitgit --version

git 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 が起動していない。

対処:

  1. タスクバーの Docker アイコンを確認
  2. Docker Desktop を起動する
  3. ステータスが「Running」になるまで待つ
  4. 再度コマンドを実行
docker info

no configuration file provided: not found

原因: docker composesetup フォルダ以外 で実行している。

対処:

cd c:\AdTechCode\Git_GitHub\setupdocker compose up -d

または -fdocker-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 -v

GitHub に登録済みの公開鍵がある場合は、作り直し後に整理が必要になることがあります。


ホストの setup フォルダにファイルが無い

原因: /workspace はコンテナ専用。ホストの setup とはマウントしていない。

対処: コンテナ内のファイルをホストへ出すときは docker cp。手順は setup/README.md を参照してください。


docker compose コマンドが見つからない

原因: 古い docker-compose(ハイフン付き)と新しい docker compose(スペース区切り)の違い。

対処:

docker compose version

Docker 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.mdSSH 鍵または HTTPS / PAT から、GitHub 認証と初回 push まで進めてください。

シェア