macOS m1 docker 搭建 Linux 开发环境

踩了很多坑,记录一下。

不要过分相信 AI,AI 不灵的时候试一下传统搜索引擎,说不定有惊喜

1. brew 命令安装 docker 非常慢

虽然已经勾选了联网搜索,deepseek 和 qwen 给出的镜像源及命令大多都过时了。
一顿折腾 brew 镜像,终于把 docker 安装上,运行 docker 命令还是报错(这里给自己挖了一个坑)。
最后官网下载了 Docker Desktop,顺利安装。

2. docker pull 拉取镜像失败

这里被 deepseek 和 qwen 坑惨了,浪费了一晚上,甚至想放弃 docker 转虚拟机。

进行了无数次尝试,更换了无数镜像源,中科大、163、huawei、baidu,让我尝试修改 dns,用 ping、nslookup 反复 debug,花了一个晚上也没有 docker pull 成功。
最后还是靠传统的搜索引擎,第一个链接直接解决了我的问题: https://docker.xuanyuan.me

3. docker ps 看不到正在运行的容器

为了方便 Linux 开发,我基于 ubuntu:22.04 写了一个 Dockerfile,增加了一些开发必备工具,然后用 docker build 命令成功做出镜像,紧接着 docker run 命令也能顺利进入容器内。
奇怪的事情来了,docker desktop 中看不到镜像和运行中的容器,甚至终端 docker ps -a 也是空的。
问了 AI,docker context use desktop-linux 没有解决问题。最后 brew uninstall docker 卸载了之前用 brew 安装的 docker,也就是第一步给自己挖的坑,然后重启 docker desktop 一切正常。

推荐工作流

后台 + 固定命名容器

# 构建镜像
docker build -t my-dev-env .

# 启动一个后台容器,并保持运行
docker run -d -v $(pwd):/workspace --name my-dev-container my-dev-env tail -f /dev/null

# 进入容器
docker exec -it my-dev-container /bin/bash

这样就可以多次进出容器而不必每次都重新创建,也方便开启多个 docker 终端

posted @ 2025-05-17 08:26  Zijian/TENG  阅读(86)  评论(0)    收藏  举报