dba-kit
(张天师)
1
在当前的Makefile中,存在大量的CGO_ENABLED=1
,导致官方的Docker镜像在Debian系的Linux中运行会报错,报错内容是
runtime/cgo: pthread_create failed: Operation not permitted
,必须给额外的高权限才能运行。
详细分析可以见:https://github.com/docker-library/golang/issues/467 。
简单的解决方法是设置CGO_ENABLED=0
就可以了,试了下也能编译成功。
1 个赞
dba-kit
(张天师)
2
背景:准备在dev环境用docker只起一个tidb-server让开发日常自测,发现在Ubuntu环境下启动报错。
PS: 理论上如果k8s是跑在Ubuntu上的话,tidb on k8s应该也会报错(还没有经过测试)
dba-kit
(张天师)
5
额,经过测试,这个报错在Docker 20版本以上已经被修复了,对应的Ubuntu版本是22.04才修复。也就是Ubuntu 22.04之后直接安装最新Docker,即便是启用了CGO的镜像也不会报错。
PS: 比较坑的是Docker 24版本彻底废弃了AUFS
文件系统。如果使用了AUFS
,在升级Docker版本后必须更改storage-driver
,而这会导致老的容器起不来,必须重建容器
dba-kit
(张天师)
7
这里就是背景,TiDB语法和MySQL 5.7还是有些不同的,给开发自测的。没必要搭建一套完整的TiDB集群
zhanggame1
(Ti D Ber G I13ecx U)
8
自测单机1pd 1tidb1tikv就行,能跑mysql就能跑tidb 我都是自己电脑起个虚拟机玩
dba-kit
(张天师)
10
线上测试会维护多个开发分支,不同开发分支的TiDB环境还不能一样。
起三个进程,不如直接让TiDB写本地磁盘,这种给开发来说一条docker run命令或者docker-compose文件就够了。
docker run -dt -p 4000:4000 --restart unless-stopped --name tidb-v7.1.1-4000 -v /data/tidb-4000:/data/tidb pingcap/tidb:v7.1.1 --path /data/tidb
PS:默认情况下,tidb-server就是使用本地存储的
1 个赞
dba-kit
(张天师)
13
这个真的是强,不过应该是基于S3的存储后的一种福利。期待TiKV on S3开放给本地TiDB集群,这样测试集群有一套就够了
dba-kit
(张天师)
关闭
15
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。