神器:WSL和Docker--程序员和运维人员的致胜法宝

近期看到有小伙伴在讨论windows上使用wsl,docker和k8s的问题。发现大家很少使用Docker Desktop,这两者我都使用了很久了各种无缝切换非常丝滑,因此来分享给大家一些使用小技巧。

预告:下一篇分享在Windows上,使用Docker 打包多平台镜像和交叉编译二进制文件,效果如下,敬请关注。

多平台镜像:

二进制可执行程序:mips64(龙芯3A5000之前CPU)

二进制可执行程序:arm64(鲲鹏、飞腾等)

WSL 允许 Windows 用户在其系统上运行 Linux 环境,打破了操作系统之间的壁垒。它为那些习惯使用 Linux 命令行工具的开发者提供了熟悉的开发环境,无需切换到完全独立的 Linux 操作系统。在cmd命令行中即可实现windows与linux的切换,并实现文件共享。

你遇到的问题是: ```bash -sh: docker-compose: not found ``` 这说明在当前的 WSL 环境中(`docker-desktop` 发行版)**没有安装 `docker-compose` 命令**。 --- ## 🔍 问题分析 你使用的是 **Docker Desktop 自带的轻量级 Linux 虚拟机(称为 `docker-desktop`)**,它并不是一个完整的 Ubuntu/Debian 系统,而是一个极简发行版,**默认不包含 `docker-compose` 可执行文件**。 虽然 Docker 命令可用(如 `docker ps`),但 `docker-compose` 需要单独安装或通过其他方式调用。 --- ## ✅ 解决方案:使用 `docker compose`(V2 插件命令) 现代 Docker 已将 `docker-compose` 升级为内置插件,新语法是: ```bash docker compose ``` 👉 注意:这是两个单词,不是 `docker-compose`(一个单词带横杠)。 所以你应该运行: ```bash docker compose up -d ``` 而不是: ```bash docker-compose up -d # ❌ 这个命令在 docker-desktop 中不可用 ``` --- ### ✅ 正确操作步骤如下: ```bash # 先确认你在项目目录 cd ~/superset-prod # 查看是否有 docker-compose.yml ls docker-compose.yml # 使用新的 V2 语法启动服务 docker compose up -d ``` ✅ 成功! > 💡 提示:这个命令会自动识别 `docker-compose.yml` 文件并启动所有服务。 --- ## 📌 补充知识:`docker-compose` vs `docker compose` | 类型 | 名称 | 是否需要额外安装 | 推荐程度 | |------|------|------------------|----------| | v1 | `docker-compose`(Python 工具) | 需 `pip install docker-compose` | ❌ 已弃用 | | v2 | `docker compose`(Docker 内置插件) | 自动集成在 Docker CLI 中 | ✅ 推荐 | Docker 官方已推荐使用 `docker compose`(无横杠),它是用 Go 编写的,性能更好、更稳定。 --- ## 🛠️ 如果 `docker compose` 也不行?如何修复? 如果连 `docker compose` 都报错,说明你的 Docker CLI 环境有问题。 ### ✅ 解决方法:切换到完整的 WSL 发行版(推荐做法) 不要在 `docker-desktop` 这种临时环境中操作项目! 你应该使用一个完整的 Linux 发行版,比如: - Ubuntu - Debian - Kali Linux ### 步骤如下: #### 1. 安装 Ubuntu(从 Microsoft Store) 打开 [Microsoft Store](https://apps.microsoft.com/) → 搜索 “Ubuntu” → 安装。 #### 2. 启动 Ubuntu 开始菜单 → 打开 “Ubuntu”,设置用户名密码。 #### 3. 安装 Docker CLI(让 Ubuntu 能控制 Docker Desktop) ```bash # 添加 Docker 官方 GPG 密钥 sudo apt update && sudo apt install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg # 添加仓库 echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 更新包索引并安装 Docker CLI sudo apt update sudo apt install docker-ce-cli -y ``` 这样你就有了 `docker` `docker compose` 命令。 #### 4. 将项目移到 Ubuntu 文件系统 建议把项目放在 Ubuntu 的家目录下,例如: ```bash cd ~ mkdir superset-prod # 然后把你之前创建的所有文件复制进来(config/, nginx/, certs/ 等) ``` 或者从 Windows 路径挂载访问: ```bash cd /mnt/c/Users/pc/superset-prod ``` 但注意权限问题,最好复制到 Linux 原生路径。 #### 5. 正常运行命令 ```bash cd ~/superset-prod docker compose up -d ``` 一切正常! --- ## ✅ 总结:你现在应该怎么做? | 目标 | 操作 | |------|------| | 快速启动服务 | 在 `docker-desktop` 中运行:`docker compose up -d`(注意是空格) | | 长期开发部署 | 切换到 **Ubuntu WSL** 并安装 `docker-ce-cli`,获得完整功能 | | 避免错误 | 不要用 `docker-compose`(带横杠),改用 `docker compose`(两个词) | ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值