What's?
WindowsでDockerを使いたい、でもDocker Desktopはちょっと…ということで、Rancher Desktopを使ってみます。
Rancher Desktop
Rancher Desktopは、SUSEが開発しているコンテナ、Kubernetesを操作できるアプリケーションです。
インストール方法はこちら。
Windowsの場合は、事前にWSLをインストールしておく必要があります。
というわけで、インストールします。
環境
Windows 10。
WSLをインストールする
こちらで。
PS > wsl --install
インストールされたWSLのバージョン。
PS > wsl --version
WSL バージョン: 2.4.13.0
カーネル バージョン: 5.15.167.4-1
WSLg バージョン: 1.0.65
MSRDC バージョン: 1.2.5716
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
Windows バージョン: 10.0.19045.5608
Rancher Desktopをインストールするにあたり、ディストリビューションは入れなくてもよさそうです。
Rancher Desktopをインストールする
ドキュメントには載っていませんでしたが、Rancher Desktopはwingetでもインストールできるようです。
PS > winget search rancher
名前 ID バージョン 一致 ソース
------------------------------------------------------------------
Rancher Desktop SUSE.RancherDesktop 1.18.2 Tag: rancher winget
k3d k3d.k3d 5.8.3 Tag: rancher winget
後々のアップデートなども考えるとwingetでインストールした方がよい気がしたので、今回はwingetでインストールすることにします。
PS > winget install SUSE.RancherDesktop
インストール後、Rancher Desktopを起動するとこんなダイアログが表示されますが、個人的には現時点でKubernetesは使わないので「Enable Kubernetes」のチェックを外しておきます。
確認すると、WSLでRancher Desktop用の仮想マシンが動いているようです。
PS > wsl -l -v
NAME STATE VERSION
* rancher-desktop Running 2
rancher-desktop-data Stopped 2
PowerShellを起動しなおすと、docker
コマンドが使えるようになっています。
PS > docker version
Client:
Version: 27.5.1-rd
API version: 1.45 (downgraded from 1.47)
Go version: go1.22.11
Git commit: 0c97515
Built: Thu Jan 23 18:14:31 2025
OS/Arch: windows/amd64
Context: default
Server:
Engine:
Version: 26.1.5
API version: 1.45 (minimum version 1.24)
Go version: go1.22.5
Git commit: 411e817ddf710ff8e08fa193da80cb78af708191
Built: Fri Jul 26 17:51:06 2024
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.7.17
GitCommit: 3a4de459a68952ffb703bbe7f2290861a75b6b67
runc:
Version: 1.1.14
GitCommit: 2c9f5602f0ba3d9da1c2596322dfc4e156844890
docker-init:
Version: 0.19.0
GitCommit:
Docker Composeも使えそうですね。
PS > docker compose version
Docker Compose version v2.33.0
nginxで確認。
PS > docker container run -it --rm --name nginx -p 80:80 nginx:latest
実行中のコンテナ。
PS > docker container ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
09b1b45db9e9 nginx:latest "/docker-entrypoint.…" 2 seconds ago Up 1 second 0.0.0.0:80->80/tcp, :::80->80/tcp nginx
アクセスしてみます。
PS > curl http://localhost
StatusCode : 200
StatusDescription : OK
Content : <!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style...
RawContent : HTTP/1.1 200 OK
Connection: keep-alive
Accept-Ranges: bytes
Content-Length: 615
Content-Type: text/html
Date: Thu, 27 Mar 2025 04:32:19 GMT
ETag: "67a34638-267"
Last-Modified: Wed, 05 Feb 2025 ...
Forms : {}
Headers : {[Connection, keep-alive], [Accept-Ranges, bytes], [Content-Length, 61
5], [Content-Type, text/html]...}
Images : {}
InputFields : {}
Links : {@{innerHTML=nginx.org; innerText=nginx.org; outerHTML=<A href="http:/
/nginx.org/">nginx.org</A>; outerText=nginx.org; tagName=A; href=http:
//nginx.org/}, @{innerHTML=nginx.com; innerText=nginx.com; outerHTML=<
A href="http://nginx.com/">nginx.com</A>; outerText=nginx.com; tagName
=A; href=http://nginx.com/}}
ParsedHtml : mshtml.HTMLDocumentClass
RawContentLength : 615
OKですね。
割と簡単に入れられました。これからは、Windows上ではこちらを使ってコンテナを利用していきたいと思います。