0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSL2(Alpin)Dockerでセットアップをするときのメモ(VS Code対応)

Last updated at Posted at 2025-01-13

WSL2(Alpin)Dockerでセットアップをするときのメモ(VS Code対応)

何度も失敗していたのでメモ

使用環境(執筆時)

  • OS: Windows 11 Pro 24H2
  • WSL2: v1.96.2
  • VS Code: v1.96.2
    • Remote Development: v0.26.0
    • Docker: v.29.3
  • Alpine Linux: v3.21.2
  • Docker: v27.3.1

前準備

  • WSL2のセットアップ
  • VS Codeのインストール
  • お好きなターミナル(Windows Terminal, Fluent Terminal, etc...)をインストール(ターミナルをいい感じにする場合)
  • wingetでcurl(cURL.cURL)をインストール(コマンドでDLする場合

参考にしたサイト様

Windowsの機能の有効化

下記を有効化

  • Hyper-V
    • Hyper-V プラットフォーム
    • Hyper-V 管理ツール
  • Linux用 WIndowsサブシステム
  • Windows ハイパーバイザー プラットフォーム

screenshot_2025-01-13 142946.png

仮想スイッチの設定

再起動後 Hyper-Vマネージャーの仮想スイッチを外部ネットワークに切り替え

screenshot_2025-01-13 144340.png

Alpine Linuxのダウンロード・インストール

公式サイトからMINI ROOT FILESYSTEM x86_64の最新版(執筆時:v3.21.2)をダウンロード

cd D:\Develpments\wsl
curl -OL https://dl-cdn.alpinelinux.org/alpine/v3.21/releases/x86_64/alpine-minirootfs-3.21.2-x86_64.tar.gz
wsl --import Alpine .\Alpine .\alpine-minirootfs-3.21.2-x86_64.tar.gz

WSLでAlpineを実行

wsl -d Alpine
# パッケージの更新
apk update
apk upgrade --no-cache # -no-cacheで容量削減
# 必要なパッケージをインストール
apk add --no-cache tzdata sudo bash curl git github-cli
apk add --no-cache libgcc libstdc++ # VSCodeで開くために必要なパッケージ
# タイムゾーンの設定
install -Dm 644 /usr/share/zoneinfo/Asia/Tokyo /etc/zoneinfo/Asia/Tokyo
export TZ='Asia/Tokyo'
echo "export TZ='$TZ'" >> /etc/profile.d/timezone.sh
apk del tzdata
 
# sudo の設定
echo '%wheel ALL=(ALL) ALL' > /etc/sudoers.d/wheel

 # userの追加
username=alpine # alpineは任意の名前
adduser $username -s /bin/bash
adduser $username wheel

# wsl.conf の設定(alpineはユーザ名)
cat <<EOF > /etc/wsl.conf
[user]
default=alpine

[interop]
appendWindowsPath=false

[boot]
command = "/usr/bin/env -i /usr/bin/unshare --pid --mount-proc --fork --propagation private -- sh -c 'exec /sbin/init'"
EOF

# 不要な仮想コンソールを減らす
vi /etc/inittab # tty3~tty6をコメントアウト

# dockerの設定
apk add --no-cache docker docker-cli-compose openrc
adduser $username docker
# 自動起動のためのopenrc導入
openrc sysinit
touch /run/openrc/softlevel
rc-update add docker

# dockerの起動
rc-service docker start
rc-status
# runlevel defaultに登録
rc-update add docker default
rc-update show default
exit

# dockerの動作確認
docker run --rm hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

```sh
exit # WSLを終了

VS Codeの設定

拡張機能のインストール

code.cmd --install-extension ms-vscode-remote.vscode-remote-extensionpack
code.cmd --install-extension ms-azuretools.vscode-docker

設定変更

screenshot_2025-01-13 172445.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?