dockur / windows で samba 共有を無効化する備忘録です.
結論から書くと,
docker-compose.yml の environment に SAMBA: “N” を設定するだけ
です.

dockur / windows ってなに?
Windows が中に含まれた docker のコンテナです.元サイトは,

です.以下のようにワンライナーで Windows の仮想マシンを導入できて,と〜ってもお手軽です(dockur ではなくて dockurr となってますが,これは元リポジトリ側の仕様です).
docker run -it --rm --name windows -e "VERSION=11" -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v "${PWD:-.}/windows:/storage" --stop-timeout 120 docker.io/dockurr/windows
また,Windows 11 だけじゃなくて,2000 以降,サーバーも 2003 以降全部入りますし,Tiny Core のものも入れられます.以前 blog で紹介した WinApps のバックエンドでもあります.

dockur / windows と samba
この dockur / windows ですが,ホストマシンと仮想マシンの間でファイルをやりとりできるよう標準で samba によるファイル共有が行われます.しかし別にファイルサーバー等あればこれは必要ないです.そして,必要のないサービスはもちろん起動しないようにしたい.しかし,

の README.md にはそのためのオプションの説明がなく,samba 無効化は(素直には)できないと思ってました.
samba 無効化
公式の README.md にはありませんが,実は,以下のようにすれば dockur / windows の samba を無効化できます.冒頭に書いた通り,仮想マシンのサービスの environment に SAMBA: “N” とするだけです.
$ cat docker-compose.yml
services:
win11:
image: dockurr/windows
container_name: win
environment:
VERSION: "11"
LANGUAGE: "Japanese"
DISK_SIZE: "256G"
RAM_SIZE: "12G"
CPU_CORES: "8"
USER_PORTS: "3389"
SAMBA: "N" # SAMBA 無効化
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
- NET_RAW
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
volumes:
- /var/lib/containers/volumes/ws:/storage
restart: always
stop_grace_period: 2m
networks:
forwin:
name: forwin
ipam:
driver: default
config:
- subnet: 10.89.0.0/24
gateway: 10.89.0.1
この設定,以下の issue で開発者自らが案内していますので,公式とまでは言えないと思いますが,まぁこれから機能が削除されるようなこともそうそうないんじゃないかなと思います.

dockur / windows を使おうとする人って,「逸般の誤家庭」である率高くて,ファイルサーバー設置してたりする率高いと思うので,意外と需要あるんじゃないかなと思います.
以上