Alpine Linux を Docker Desktop の HOST として利用するための環境構築
インストール
WSL上でAlpine Linux を稼働させるために、まずはインストールを行う。
本家サイト(https://www.alpinelinux.org/)から「Minimal root filesystem」の tar.gz ファイルをダウンロードして wsl –import を行っても良いが、Microsoft Store にある「Alpine WSL」をインストールしたほうが簡易にインストールできる。
「Alpine WSL」は、本家サイトのCDNからAlpine Linuxをダウンロードし、それをWSL内にインストールするだけの起動スクリプト的なもの?
セットアップ
Alpine WSL の 起動
Alpine WSL のインストール後、Windowsのメニューから「Alpine WSL」を起動すると、CLIが立ち上がり「Enter new UNIX username:」プロンプトが表示されて止まる。
ここで、ユーザ名とパスワードを作成すると、次回起動時に当該ユーザで自動的にログインされる。逆に、プロンプトが表示された時点でCLIを閉じると、次回起動時には root ユーザでログインされる。
DockerのHOSTとしてAlpine Linuxを利用するだけなら、root 権限でログインして貰う方が利便性に優れるので、ここではユーザ名の入力は行わずにCLIを閉じてしまう。
alpine-pkg-glibc パッケージの導入
下記ドキュメントの注釈に、「alpine-pkg-glibc」パッケージを導入する必要があると記載されている。
下記ドキュメントの記載通りに「alpine-pkg-glibc」パッケージをインストールする。
> wsl -d alpine
# cd ~
# wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub
# wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-2.35-r0.apk
# apk add glibc-2.35-r0.apk
# wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-bin-2.35-r0.apk
# wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-i18n-2.35-r0.apk
# apk add glibc-bin-2.35-r0.apk glibc-i18n-2.35-r0.apk
# /usr/glibc-compat/bin/localedef -i en_US -f UTF-8 en_US.UTF-8
# exit
> wsl -t alpine
Docker Desktop に統合する
Alpine Linux を Docker Desktop に統合するため、以下の操作を行う。
– Docker Desktopを起動する。
– Settings – Resources – WSL INTEGRATION 画面で Alpine にチェックを入れる。
以上の操作で、Apline を docker ホストとして使用することができるようになる。
Alpine 環境整備
開発環境として使用するための環境整備。
Visual Studio Code の導入
開発統合環境として Visual Studio Code を使用したい。
Alpine を起動して code コマンドを実行すると’apk update && apk add libstdc++’を実行せよと言われるので、指示通りに進めることで Visual Studio Code のインストールが完了する。
> wsl -d alpine
# cd ~
# code .
...
libstdc++ is required to run the VSCode Server:
Please open an Alpine shell and run 'apk update && apk add libstdc++'
# apk update && apk add libstdc++
...
# code .
その他、必要なものは都度 ‘apk add’ コマンドを使用して導入する。
ログインシェル
wslコマンドを用いてAlpineディストロにログインすると、Windowsのディレクトリが、ash シェルのカレントフォルダになってしまう。root ユーザの ホームをカレントフォルダにしたいため、以下のログインシェルを追加しておく。
# cd ~
--- 以下、~/.profile ファイルの内容
#!/bin/sh
cd ~
--- 以上
# chmod +x ~/.profile
動作確認
上記、一連の導入作業により、正常にdocker HOST 環境が作成できたのか、確認してみる。
ひとまず、WordPress 環境の構築を作成してみる。

> wsl -d alpine
# cd ~
# mkdir my_wordpress
# cd my_wordpress
--- 以下のコードを my_wordpress/docker-compose.yml ファイルに書き込む ---
version: "3.9"
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- wordpress_data:/var/www/html
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
wordpress_data: {}
WordPressを起動
# docker compose up -d
Web ブラウザで、http://localhost:8000 を開き、WordPressが正常に動作することを確認する。