记一次 Debug 过程与 Windows 下 Docker 的使用

📅 2月5日 / 🎨 开发日志 / 👓 208


就是那种“瞎子摸象”的感觉。

1 安装过程

Github 地址克隆下来,简单看下文档:

  • 它集成 next.js 作为后端开发语言
  • 它集成 React 作为前端开发语言
  • 它集成 Redux 进行状态管理
  • 它集成 Redux saga 进行浏览器端的异步管理控制
  • 它集成 bootstrap 4 来方便你快速定义样式
  • 它集成 knex 来管理数据库
  • 它支持 PostgresSQLite 3 数据库

好家伙,大部分是我看起来不会用的高端技术。

深呼一口气,下面开始安装。

看到 make install ,居然是 Linux 命令…

等等不慌,毕竟我们 Windows 是最好的 Linux 桌面发行版(手动狗头)

赶紧祭出 wsl ,打出 make install 

抛出一个找不到 docker-compose 的错误:

2021-02-05T03:34:47.png

打开它给的地址看看解决方案

发现 Windows 10 环境下需要安装 Docker for windows 

于是下载安装好 Docker for windows ,并切换到 wls 2 

继续整 make install 

卡在了 docker pulling 上了,好家伙,是“网络问题”

到阿里云镜像申请了一个 Docker 加速服务,放到 Docker for Windows 的配置中

2021-02-05T03:36:21.png

继续整 make install

这下 Docker 镜像都下载好了

然而,中间卡在 npm 的 fetchMetadata 步骤

呵,又是“网络问题”,修改 Makefile 指定淘宝源

install:
    @echo "${YELLOW}Installing the project...${COLOR_END}"
    docker-compose run node npm install --registry=https://registry.npm.taobao.org

再来 make install 

终于,依赖都装好了

2 运行过程

再接再厉,跑起来, make up 

终于 yarn 编译完成,很开心

2021-02-05T03:36:35.png

配置 hosts,然而访问不了

2021-02-05T03:36:43.png

接下来开始找 BUG

3 DEBUG 过程

打开 Docker 看看容器运行情况

2021-02-05T03:36:52.png

发现 traefik 一直在 Restarting 状态

看看它的日志

2021-02-05T03:37:00.png

老规矩 Google 走起

2021-02-05T03:37:08.png

经过反复搜索,定位到了一处不起眼的信息

2021-02-05T03:37:19.png

他提到的 #5119 是一条 Traefik 的 Merge 请求,该修改并入了 traefik 2.0 版本,那么很可能 2.0版本之后都会出现这个错误

2021-02-05T03:37:27.png

虽然 issue 提的和我们不是完全相同的错误,但大体差不多,都是接口改变引起的错误

查查项目当前用的什么版本

2021-02-05T03:37:35.png

好家伙 2.4.2,因此更有理由怀疑是版本带来的问题

查到 traefik v2.0 的上一个版本是 v1.7 

修改 docker-compose.yml 文件

  traefik:
    #image: traefik (未指定tag,改为下行)
    image: traefik:v1.7

重新启动 make up 

终于看到了令人感动的绿

2021-02-05T03:38:05.png

测试一下,重新访问。

神奇的页面出现了

2021-02-05T03:38:53.png

就此,Debug 结束。

P.S.

避免免内容过于冗长,文中省略了无数次旁支末节的试错过程,如

  • 在 vmware 虚拟机上安装 linux,再装 docker:做到一半觉得这方案太傻了,放弃
  • 直接在 windows 中 npm install :跑起来了,但是,bug 不在这…
  • 与“墙”的斗争…
(完)

留言(0)