Docker在本机可以很方便测试验证一些功能,例如本地运行一个数据库,或redis, 或别人打包好的镜像等
因为docker desktop从2022年开始收费, 在windows下如果你不想装虚拟机跑linux运行docker,可以用wsl(windows subsystem for linux)
当然也可以安装podman(另一个兼容docker container的运行环境, docker替代者),但也要linux环境,也就是同样需要wsl.
https://zhuanlan.zhihu.com/p/148511634
参考上文, 如何在win10安装启用wsl,以及透过wsl安装docker
首先升级win10到最新(最好是2020年以后的release, 下面测试用的是win10-21H1)
# wsl命令可以设置单独某个具体wsl的linux版本为1版本但是2版本,wsl2速度较于旧版wsl快了很多。
wsl --set-default-version 2
# 在线查看可安装的linux分发版本。
wsl --list –online
#安装一个分发版本, v18.04比v20空间小, 所以我装ubuntu 18
wsl --install -d Ubuntu-18.04
#可能需要安装wsl_update_x64.msi
#接下来就是跟linux里的操作一样了
#安装docker, 如果不能装, 可能缺少些package, 参考 https://www.myfreax.com/how-to-install-and-use-docker-on-ubuntu-18-04/
sudo apt install docker-ce
#将当前user加入docker群组,这样后面执行docker时不用sudo
sudo usermod -aG docker $USER
#启动docker daemon
sudo service docker start
#验证 如果没有将当前user加入到docker群组,需要sudo
docker run hello-world
wsl下没有systemd的支持, 所以docker daemon不会作为service自动启动
解法是在自己的.profile下增加启动脚本, 让每次session连接进去时自动启动docker daemon, ref https://stackoverflow.com/questions/65813979/sudo-systemctl-enable-docker-not-available-automatically-run-docker-at-boot-o
sudo service docker status || sudo service docker start
到此为止, win10上利用wsl2来运行docker已基本完成, 其他docker相关配置及指令跟linux相同, 与docker desktop差异就在于没有图形界面.
例如
Docker pull xxx-image
Docker stop xxx-container
Wsl提供了虚拟机环境,可以在windows下直接运行linux的指令, 也可以用wsl作为linux开发环境,同时也可以访问windows下的文件.