FrontPage>Gitユーザーの複数管理のためにDockerを使う

Gitユーザーの複数管理のためにDockerを使う

投稿日: 2025-03-07 (金)

はじめに

ホスト側はネット名(ハンドルネーム)のGitHubアカウント、コンテナ側は実名のGitHubアカウントにして間違えて実名でコミットしないようにしたいと思う。
VBで昔、複数アカウント管理ツールを作ったのだがそれだとやっぱり誤爆する危険性があると思った。

ちな、Windowsコマプロ前提なのでそれ以外ならその環境にあわせて解釈するかでどうにかしてください

Dockerfile

最新のUbuntuベースにgitやpython、phpなど便利そうなものもインストールするようにしときます。

FROM ubuntu:latest

# インストール
RUN apt update && apt install -y \
    git \
    python3 python3-pip \
    php-cli php-curl php-mbstring php-xml \
    composer \
    curl \
    unzip zip \
    vim nano \
    wget \
    && apt clean

# Git
ARG GIT_USER="ユーザー名"
ARG GIT_EMAIL="メールアドレス"
RUN git config --global user.name "$GIT_USER" \
    && git config --global user.email "$GIT_EMAIL" \
    && git config --global gpg.format ssh \
    && git config --global user.signingkey ~/.ssh/id_rsa.pub

# SSH
COPY id_rsa /root/.ssh/id_rsa
COPY id_rsa.pub /root/.ssh/id_rsa.pub
RUN chmod 600 /root/.ssh/id_rsa && chmod 644 /root/.ssh/id_rsa.pub

もし、git以外いらなかったらpython3からwgetまで必要に応じて消してください

SSHキー生成

Dockerfileと同じディレクトリでSSHキーを生成する

ssh-keygen -t ed25519 -C "メールアドレス" -f id_rsa

パスフレはとりあえずEnter押して飛ばした。
厳密に管理する必要がある場合は入力した方がいいでしょう(ちなみにパスフレを設定してもSSH-agentを使うとパスを入力する手間もなくなります)

COPY id_rsa /root/.ssh/id_rsa
COPY id_rsa.pub /root/.ssh/id_rsa.pub

でコピーされるSSHキーを生成するだけ

ビルド

docker build -t fullname .

repo/フォルダつくる

Dockerfile入れてるところと同じフォルダにマウント用にrepo/つくっとく。
不要なら次のステップで-v %CD%:/repoは不要

作成と同時にシェルに入る

docker run -it --name fullname-container --hostname fullname -v %CD%:/repo fullname /bin/bash

`-v`でマウントしてます。%CD%はホスト側のカレントディレクトリです。つまり「-v ホスト側:コンテナ側」です
まあ、私は「%CD%\repo:/repo」にしました。イメージ的にはホスト側の./repoとコンテナ側の~/repoがリンクされる感じです。(マウントする)

`--hostname`はホスト名です。root@xxx:のxxxの部分を変更できます。(なしでも問題ないですが、それだとコンテナidになります)

作成

docker run -d --name fullname-container --hostname fullname -v %CD%:/repo fullname

アタッチ(シェルに入る)

docker exec -it fullname-container /bin/bash

起動

docker start fullname-container

チェック

git config --global --list
php -v
python3 --version
composer --version

さいごに

これでGitの複数垢管理もなんとかなりそう。
ちなみにsshキーで認証するのでリモート先の指定は https:// じゃなくて git@ github.com: の方使うとよさそう

コメント

コメントはありません。 Comments/Gitユーザーの複数管理のためにDockerを使う

お名前:
URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

キーワード: 情報技術, Docker, コンテナ, イメージ, Git, GitHub, ユーザー, アカウント, 複数, 管理

検索

 

プロフィール

Pitan
pitan_prof.png
プログラミングや音MADやらが趣味
Table of Contents

最新のページ

最新の5件
2025-08-05 2025-07-10 2025-07-06

[もっと見る]

タグ

[もっと見る]

人気のページ

人気の5件

カウンター

合計: 448
今日: 3
昨日: 0
オンライン: 1
  編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-03-08 (土) 18:14:24