普通なら
コンテナ(Docker)用Amazon Linux 2023のダウンロード
私は以下からダウンロードしましたが、リリースバージョンはそのうち変化していくこと予想されますので適宜対応してください。
https://cdn.amazonlinux.com/al2023/os-images/2023.12.20260710.0/container/al2023-container-2023.12.20260710.0-x86_64.tar.xz
ダウンロードコマンド例
curl.exe --ssl-no-revoke -L "https://cdn.amazonlinux.com/al2023/os-images/2023.12.20260710.0/container/al2023-container-2023.12.20260710.0-x86_64.tar.xz" -o "amazonlinux2023.tar.xz"
ダウンロード作業手順
# 作業領域へ
#
work >> cd d:\work
work >> pwd
Path
----
D:\work
work >> wsl -l -v
Linux 用 Windows サブシステムにインストールされているディストリビューションはありません。
この問題を解決するには、以下の手順に従ってディストリビューションをインストールしてください:
'wsl.exe --list --online' を使用して利用可能な配布を一覧表示する
および 'wsl.exe --install <Distro>' を使用してインストールしてください。
work >>
# AWS公式リポジトリから、AL2023の最新コンテナ用ベースイメージをダウンロード
#
work >> curl.exe --ssl-no-revoke -L "https://cdn.amazonlinux.com/al2023/os-images/2023.12.20260710.0/container/al2023-container-2023.12.20260710.0-x86_64.tar.xz" -o "amazonlinux2023.tar.xz"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 34.23M 100 34.23M 0 0 5.21M 0 00:06 00:06 5.15M
work >>
# 解凍
#
work >> 7z.exe x "amazonlinux2023.tar.xz"
7-Zip 26.02 (x64) : Copyright (c) 1999-2026 Igor Pavlov : 2026-06-25
Scanning the drive for archives:
1 file, 35901276 bytes (35 MiB)
Extracting archive: amazonlinux2023.tar.xz
--
Path = amazonlinux2023.tar.xz
Type = xz
Physical Size = 35901276
Method = LZMA2:23 CRC64
Streams = 1
Blocks = 1
Everything is Ok
Size: 155627520
Compressed: 35901276
work >>
コンテナ(Docker)へAmazon Linux 2023インストール
wsl --import AmazonLinux2023 d:\WSL\AmazonLinux2023 d:\work\amazonlinux2023.tar
インストール手順
# 解凍してできたtarファイルをインポートすることでインストールできます。
#
work >> wsl --import AmazonLinux2023 d:\WSL\AmazonLinux2023 d:\work\amazonlinux2023.tar
この操作を正しく終了しました。
# 確認
#
work >> wsl -l -v
NAME STATE VERSION
* AmazonLinux2023 Stopped 2
work >>
# AL2023の起動(まだ未完成だけどいったん起動)
#
work >> wsl -d AmazonLinux2023
wsl: Processing /etc/fstab with mount -a failed.
wsl: Failed to mount C:\, see dmesg for more details.
wsl: Failed to mount D:\, see dmesg for more details.
wsl: Failed to mount P:\, see dmesg for more details.
:
省略
:
wsl: Failed to translate 'C:\Program Files\Common Files\Oracle\Java\javapath'
wsl: Failed to translate 'C:\Program Files (x86)\Common Files\Oracle\Java\javapath'
wsl: Failed to translate 'C:\Users\atsushi\AppData\Roaming\npm'
wsl: Failed to translate 'C:\Users\atsushi\AppData\Local\Microsoft\WindowsApps'
wsl: Failed to translate 'C:\Users\atsushi\AppData\Local\Python\bin'
#
# 必要最小限の各種パッケージをインストール
[root@DESKTOP-HJ85QJ6 ~]# dnf install -y binutils util-linux iproute passwd sudo vim libsecret
:
省略
:
Complete!
# Linuxユーザの作成
#
[root@DESKTOP-HJ85QJ6 ~]# useradd sooni
[root@DESKTOP-HJ85QJ6 ~]# passwd sooni
Changing password for user sooni.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@DESKTOP-HJ85QJ6 ~]#
# 管理者になれるグループ(wheel)のメンバを指定(sudoが可能となる)
# -aは追加でという意味。これ忘れると元グループから脱却となる
#
[root@DESKTOP-HJ85QJ6 ~]# usermod -aG wheel sooni
[root@DESKTOP-HJ85QJ6 ~]#
# 「次から wsl -d AmazonLinux2023 を叩いたときsooniでログイン」を指定
# Linuxのホスト名(マシン名)を amzn2023-local に固定
# Windows側による /etc/hosts ファイルの自動生成(上書き)を禁止
# generateResolvConf = falseとする事でWSL2による書き換え禁止
#
[root@DESKTOP-HJ85QJ6 ~]# echo -e "[user]\ndefault=sooni" > /etc/wsl.conf
[root@DESKTOP-HJ85QJ6 ~]# echo -e "[network]\nhostname=amzn2023-local" >> /etc/wsl.conf
[root@DESKTOP-HJ85QJ6 ~]# echo -e "generateHosts=false" >> /etc/wsl.conf
[root@DESKTOP-HJ85QJ6 ~]# echo -e "generateResolvConf=false" >> /etc/wsl.conf
[root@DESKTOP-HJ85QJ6 ~]# echo -e "[boot]\nsystemd=true" >> /etc/wsl.conf
[root@DESKTOP-HJ85QJ6 ~]#
# 上記書き込み内容確認
#
[root@DESKTOP-HJ85QJ6 ~]# cat /etc/wsl.conf
[user]
default=sooni
[network]
hostname=amzn2023-local
generateHosts=false
generateResolvConf=false
[boot]
systemd=true
[root@DESKTOP-HJ85QJ6 ~]#
[root@DESKTOP-HJ85QJ6 ~]# exit
logout
# いったん仮想環境を停止し再立ち上げして
# /etc/wsl.conf の内容を読み込みます。
#
work >> wsl --shutdown
work >> wsl -d AmazonLinux2023
#
# このタイミングで/etc/resolv.confへ書き込む事大事です。
# 前工程で設定した、"generateResolvConf=false" が再起動する事で有効になるからです
#
[sooni@amzn2023-local work]$ echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
[sudo] password for sooni:
nameserver 8.8.8.8
[sooni@amzn2023-local work]$ cat /etc/resolv.conf
nameserver 8.8.8.8
[sooni@amzn2023-local work]$ cd
[sooni@amzn2023-local ~]$
# viのエイリアス
#
[sooni@amzn2023-local ~]$ echo "alias vi='vim'" >> ~/.bashrc
[sooni@amzn2023-local ~]$ source ~/.bashrc
# OS確認
[sooni@amzn2023-local ~]$ cat /etc/os-release
NAME="Amazon Linux"
VERSION="2023"
ID="amzn"
ID_LIKE="fedora"
VERSION_ID="2023"
PLATFORM_ID="platform:al2023"
PRETTY_NAME="Amazon Linux 2023.12.20260710"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2023"
HOME_URL="https://aws.amazon.com/linux/amazon-linux-2023/"
DOCUMENTATION_URL="https://docs.aws.amazon.com/linux/"
SUPPORT_URL="https://aws.amazon.com/premiumsupport/"
BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2023"
VENDOR_NAME="AWS"
VENDOR_URL="https://aws.amazon.com/"
SUPPORT_END="2029-06-30"
# カーネル確認
#
[sooni@amzn2023-local ~]$ uname -r
6.18.33.1-microsoft-standard-WSL2
[sooni@amzn2023-local ~]$
さらにここにDockerのインストール
# Docker のインストール
# sudo dnf update -y は
# 配布されているOSイメージに含まれるパッケージ(各種ライブラリやツール)のバージョンを、
# 現時点の最新リポジトリのバージョンと同期させます。
# バグや脆弱性対策には必須な作業ですね。
#
[sooni@amzn2023-local ~]$ sudo dnf update -y
[sudo] password for sooni:
Last metadata expiration check: 6:22:23 ago on Sat Jul 11 11:21:26 2026.
Dependencies resolved.
Nothing to do.
Complete!
# Docker Engineのインストール
#
[sooni@amzn2023-local ~]$
[sooni@amzn2023-local ~]$ sudo dnf install -y docker
:
省略
:
Complete!
[sooni@amzn2023-local ~]$
# systemdのインストール
#
[sooni@amzn2023-local ~]$ sudo dnf install -y systemd
:
省略
:
Complete!
[sooni@amzn2023-local ~]$
# dockerグループを追加
#
[sooni@amzn2023-local ~]$ sudo usermod -aG docker sooni
[sooni@amzn2023-local ~]# exit
logout
# WSLの停止(同時に別ディストリビューションを動作させていてもまとめて停止となる)
#
work >> wsl --shutdown
# Amazon Linux2023の起動
#
work >> wsl -d AmazonLinux2023
[sooni@amzn2023-local work]$ sudo systemctl start docker
[sudo] password for sooni:
[sooni@amzn2023-local work]$ sudo systemctl enable docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
[sooni@amzn2023-local work]$
[sooni@amzn2023-local work]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[sooni@amzn2023-local work]$
docker-compose-pluginのインストール
Amazon Linux 2023(AL2023)のリポジトリには標準で docker-compose-plugin が入っていなかったので、GitHubから公式のバイナリ直接ダウンロードして配置することにします
ダウンロード例
curl -SL https://github.com/docker/compose/releases/download/v5.1.4/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
# docker-compose-pluginのインストール
#
[sooni@amzn2023-local work]$ mkdir -p ~/.docker/cli-plugins
[sooni@amzn2023-local work]$ curl -SL https://github.com/docker/compose/releases/download/v5.1.4/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 32113k 100 32113k 0 0 10210k 0 0:00:03 0:00:03 --:--:-- 11452k
# 実行権限の付与
#
[sooni@amzn2023-local work]$ chmod +x ~/.docker/cli-plugins/docker-compose
[sooni@amzn2023-local work]$
インストール手順
[sooni@amzn2023-local work]$ mkdir -p ~/.docker/cli-plugins
実際に既存composeファイルを実行してみる
今回たまたま動作確認をしたcomposeファイルにbuildを記載していて気付いたのですが、どうやら、Amazon Linux 2023に最初からついているbuildxのバージョンは古いらしく「compose build requires buildx 0.17.0 or later」というエラーがでました。
[sooni@amzn2023-local ollama-rag-poc]$ docker compose up -d
[+] up 0/2
⠋ Image ollama-rag-poc-postgres-vector Building 0.0s
⠋ Image ollama-rag-poc-fastapi-app Building 0.0s
compose build requires buildx 0.17.0 or later
[sooni@amzn2023-local ollama-rag-poc]$
# Amazon Linux 2023 に入っている docker-compose プラグインが、
#「ビルドを実行するためには、docker-buildx という拡張ツールのバージョン 0.17.0 以上
# が必要だけど、システムに見当たらない、、って事らしい、、
# 対策として、専用のフォルダを用意して最新のBuildx(Linux x86_64用)をダウンロード
#
[sooni@amzn2023-local ollama-rag-poc]$ curl -SL https://github.com/docker/buildx/releases/download/v0.19.1/buildx-v0.19.1.linux-amd64 -o ~/.docker/cli-plugins/docker-buildx
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 56880k 100 56880k 0 0 8129k 0 0:00:06 0:00:06 --:--:-- 10131k
[sooni@amzn2023-local ollama-rag-poc]$
# ダウンロードしたファイルに実行権限を付与
#
[sooni@amzn2023-local ollama-rag-poc]$ chmod +x ~/.docker/cli-plugins/docker-buildx
# バージョン確認
#
[sooni@amzn2023-local ollama-rag-poc]$ docker buildx version
github.com/docker/buildx v0.19.1 5113f9ea89afd597302961caf99cecd142c7ba05
[sooni@amzn2023-local ollama-rag-poc]$
(補足)Dockerのプラグイン探索ルールとして
まず、ユーザーのホームディレクトリにある ~/.docker/cli-plugins/ の中を探す。(あれば最優先で使用する)
そこになければ、システム領域(/usr/...)にあるOS標準のプラグインを探す。
、、、となっているらしいので今回わざわざ専用フォルダを作成して新しいプラグインを配備しています。
composeファイルで以下のようにimageをそのまま使うのでなくbuildを指定する事あるけど(Dockerfileをよんでイメージを作成するケース)この場合に使われるのがbuildxです。
postgres-vector:
build: # ←ココ
context: .
dockerfile: Dockerfile.postgres
container_name: postgres-vector-container
ports:
- "5432:5432"
今回のインストールをきれいさっぱり削除するには
# 動いているWSL2(Amazon Linux 2023)を完全に停止する
wsl --shutdown
# ディストリビューション(OS)を登録解除(削除)する
work >> wsl -l -v
NAME STATE VERSION
* rancher-desktop-data Stopped 2
AmazonLinux2023 Running 2
rancher-desktop Stopped 2
work >> wsl --unregister AmazonLinux2023
登録解除。
この操作を正しく終了しました。
work >> wsl -l -v
Linux 用 Windows サブシステムにインストールされているディストリビューションはありません。
この問題を解決するには、以下の手順に従ってディストリビューションをインストールしてください:
'wsl.exe --list --online' を使用して利用可能な配布を一覧表示する
および 'wsl.exe --install <Distro>' を使用してインストールしてください。
work >>

