1. はじめに
Windows環境ではDocker Desktopの導入が業界標準であると言っても差し支えない現状ですが、一定規模を超える企業での利用には有償ライセンスの購入が必要です。そこで、本記事ではオープンソースライセンスであるDocker Engineのみを使用して、企業規模を問わず無償で利用できるDocker環境の導入手順を紹介します。
本記事では以下のOSで動作確認を行っています。
2. 事前準備
それでは、事前準備から始めます。本手順ではUbuntu公式リポジトリからのインストールではなく、Dockerリポジトリを追加してインストールする形で進めます。docker.io をインストールしていた場合は、ここでアンインストールしてください。
Windows環境では、PowerShellから以下のコマンドを実行してWSL2をインストールします。Ubuntuもデフォルトで一緒にインストールされます。
wsl --install
WSL2上のUbuntuは自動更新されないため、定期的に以下のコマンドを実行してシステムを更新してください。なお、Linux Mint環境ではアップデートマネージャからシステムを更新できるため、以下のコマンド実行は不要です。
sudo apt update && sudo apt upgrade
3. Docker環境のセットアップ
3.1 Dockerのインストール
本節ではDocker公式の手順に沿う形でセットアップを進めます。
まずは以下のコマンドでDockerの公式GPGキーを追加します。
# Add Docker's official GPG key:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl \
-fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
続いて、以下のコマンドでDockerリポジトリを追加します。
# Add the repository to Apt sources:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF
以下のコマンドでDockerをインストールします。
sudo apt update
sudo apt install \
docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
3.2 Dockerの動作確認
インストール後は自動でサービスが起動します。systemctl status コマンドで起動状態を確認し、起動していない場合は手動で起動してください。
# The Docker service starts automatically after installation.
# To verify that Docker is running, use:
sudo systemctl status docker
# Some systems may have this behavior disabled and will require
# a manual start:
sudo systemctl start docker
以下のコマンドを実行することで動作確認を行います。テストイメージがダウンロードされてコンテナ内で実行される様子が確認できます。
sudo docker run hello-world
3.3 「docker」グループの追加
Docker公式の手順に従い、sudo なしでDockerコマンドを実行できるようにします。セキュリティの観点から、本番環境への適用はNGです。
以下のコマンドで docker グループを作成してユーザを追加します。
sudo groupadd docker
sudo usermod -aG docker $USER
ログアウトして再ログイン(または再起動)後、以下が実行できればOKです。
docker run hello-world
4. VSCode環境のセットアップ
4.1 拡張機能のインストール
VSCodeを起動して、以下の拡張機能をインストールします。
Japanese Language Pack for Visual Studio Code
Dev Containers
4.2 Myricaのインストール
必須ではありませんが、視認性が良くなるのでこちらのフリーフォントの導入がおすすめです。以下のサイトまたは GitHub から Myrica.zip をダウンロードします。
.zip ファイルを解凍して出てくる Myrica.TTC を以下のいずれかに配置します。
# ユーザ専用のフォント
mkdir -p ~/.local/share/fonts
nemo ~/.local/share/fonts
# システム全体のフォント
sudo nemo /usr/local/share/fonts
配置後はキャッシュの更新を行ってください。
# ユーザ専用のフォント
fc-cache -fv
# システム全体のフォント
sudo fc-cache -fv
Windows環境では Myrica.TTC を右クリックしてインストールします。
インストールできたら、VSCodeの設定から以下を変更します。
| 設定 | 値 |
|---|---|
| Editor: Font Family | 'Myrica M' |
| Editor: Font Size | 16 |
4.3 プロジェクトフォルダの準備
Gitでソース管理する場合、デフォルトではWindows環境でのクローンやチェックアウト時に改行コードを「CRLF」に置き換えてくれます。DockerコンテナはLinuxベースなので、リポジトリルートに以下を置いて改行コードを「LF」に固定しましょう。
* text=auto eol=lf
なお、Windows環境ではWSL2のファイルシステム上にプロジェクトフォルダを作成することをおすすめします。以下のようなイメージです。
~/GIT/プロジェクト名
/home/ユーザ名/GIT/プロジェクト名
"\\wsl.localhost\Ubuntu\home\ユーザ名\GIT\プロジェクト名"
WSL2上のフォルダでは、右リックからの「Codeで開く」が機能しません。WSL2のターミナルから以下のコマンドで開いてください。
code ~/GIT/プロジェクト名
4.4 コンテナ定義ファイルの作成
プロジェクトルートに .devcontainer フォルダを作成し、その配下にコンテナ定義ファイルを配置することでVSCodeからDockerコンテナを生成できます。
Go開発環境のコンテナ定義ファイルはこちら。
Rust開発環境のコンテナ定義ファイルはこちら。
Markdown Preview Enhanced環境のコンテナ定義ファイルはこちら。
Oracle AI Database 26ai Free環境のコンテナ生成コマンドはこちら。
Java SE Development Kit 17環境のコンテナ定義ファイルはこちら。
5. おわりに
Markdown Preview Enhanced環境については、ホストOSに直インスコして運用していたものをDockerコンテナとして再構築してみました。Dockerを活用していくことで、PCの新規セットアップに要する工数を大幅に削減できる予感がしますw
| ◀️ 前の記事 | 次の記事 ▶️ |
|---|---|
| 【開発環境構築メモ】DockerでRust開発環境を構築する | 【Docker】Oracle AI Database 26ai Free環境を構築する |