|
投稿日: 2025-03-07 (金)
|
| 目次▼ |
ホスト側はネット名(ハンドルネーム)のGitHubアカウント、コンテナ側は実名のGitHubアカウントにして間違えて実名でコミットしないようにしたいと思う。
VBで昔、複数アカウント管理ツールを作ったのだがそれだとやっぱり誤爆する危険性があると思った。
ちな、Windowsコマプロ前提なのでそれ以外ならその環境にあわせて解釈するかでどうにかしてください
最新の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まで必要に応じて消してください
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 .
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を使う
キーワード: 情報技術, Docker, コンテナ, イメージ, Git, GitHub, ユーザー, アカウント, 複数, 管理
| Pitan |
![]() |
| プログラミングや音MADやらが趣味 |
| Table of Contents |
[もっと見る]
[もっと見る]