Docker Mysql DB 初始化 UTF8 乱码问题的解决
最近在补单元测试,需要 mock 一个 DB,初始化 dump 数据阶段需要 dump 一些带中文的数据,但是发现跑起来都是乱码,非常迷惑,因为我们在链接、建立 Table 阶段都约定了:
# 连接串中
charset=utf8mb4,utf8
最近在补单元测试,需要 mock 一个 DB,初始化 dump 数据阶段需要 dump 一些带中文的数据,但是发现跑起来都是乱码,非常迷惑,因为我们在链接、建立 Table 阶段都约定了:
# 连接串中
charset=utf8mb4,utf8
这次趁着换新电脑折腾了一波,于是把 NAS 里的服务都容器化了,去掉了虚拟机,大概也就释放了 2-3G 的内存(一本满足)。
之前一直觉得群晖的 Docker 不太好用,其实目前我还是这个态度,不过总的来说……又不是不能用。
群晖 Docker 最大的缺点是:除了 Hub 安装镜像的方式,所谓的自己上传镜像到底应该上传什么,至少我 Google 了半天都没有搜到,将 Dockerfile 和 image save 之后的文件包都进行了一波上传操作,结果都是不支持的文件格式。
上一篇 egg 的介绍中我们说到测试的问题,测试一直是个让人很头大的问题,不过有了 Docker 以后就解决了很多问题,本文用数据库来抛砖引玉,举个?,更重要的是一种思路。
要进行 mock,其实本质思路是一样的,我们需要一个用完就可以卸载的数据库,以便下一次测试使用,他必须对外暴露一个端口,可以读写数据。
为了避免被打,补充一则,本文是基于 app 安装到运行的过程需要 ssh key 或者其他身份认证系统的情况所写,之后会补充常规情况。