概要
今回はDockerを利用してGit+Rubyの開発環境を構築します。
DockerfileにエイリアスやLinuxを日本語化する設定も一緒に記載しました。
前提
GitとGitHubとDockerとLinuxのコマンド操作の基本を理解している方を対象としています。
用意する物
カレントディレクトリにDockerfileとsrc/を作成します。src/の中にコンテナにコピーしたいファイルを格納します。今回はGemfileです。
Dockerfile
FROM ruby:3.2.2
WORKDIR /home/work
COPY ./src /home
RUN git config --global user.email "あなたのメールアドレス" && \
git config --global user.name "あなたの名前" && \
# vendor/bundleに依存関係をインストールするよう設定する
bundle config set --local path 'vendor/bundle' && \
bundle install && \
echo 'alias g="git"' >> ~/.bashrc && \
echo 'alias b="bundle exec"' >> ~/.bashrc && \
echo 'alias r="ruby"' >> ~/.bashrc && \
git config --global alias.c commit && \
git config --global alias.s status && \
git config --global alias.a add && \
git config --global alias.sw switch && \
git config --global alias.st stash && \
git config --global alias.b branch && \
# Linuxを日本語化する
apt update && \
apt install -y locales locales-all && \
rm -rf /var/lib/apt/lists/*
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja
# コンテナを起動した際に設定ファイルを再読み込みさせます。
CMD ["/bin/bash", "-c", "source ~/.bashrc && exec /bin/bash"]
Gemfileの例です。
# frozen_string_literal: true
source "https://rubygems.org"
gem "solargraph"
gem 'rubocop'
gem 'pry'
gem 'pry-byebug'
gem 'pry-doc'
手順
1.Dockerfileがあるディレクトリでイメージを作成します。「.」はカレントディレクトリにあるDockerfaileを参照するという意味です。
docker image build -t ruby:3.2.2 .
2.コンテナを作成します。その際にローカルのGitの管理下にあるディレクトにマウントします。
docker run --name apprentice_ruby -it -v /Gitの管理下のディレクトリ:/home/work ruby:3.2.2
3.SSHキーを作成します。
ssh-keygen -t ed25519 -C "メールアドレス"
4.SSHキーをGitHubの設定のSSH and GPG keysをクリックして New SSH keyにコピペします。※SSHキーが作成されたディレクトリは人によって違うと思います。
cat /root/.ssh/id_ed25519.pub
以上となります。
参考
仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん
Docker超入門講座 合併版 | ゼロから実践する4時間のフルコース