在使用docker容器作为buildroot环境时,生成文件系统时,buildroot会使用fakeroot来设置一些文件权限。曾经生成文件系统是非常快的,最近使用docker容易,生成文件系统时,速度变的非常慢。尝试更换到ubuntu下,速度是没有问题,那么就是容器的问题。
网上搜了一些,说是golang的bug导致的。解决方法在issue有:https://github.com/moby/moby/issues/45436
停止docker服务:
bash
docker stop u18
sudo systemctl stop docker
修改 /etc/docker/daemon.json
:
json
{
"default-ulimits": {
"nofile": {
"Name": "nofile",
"Soft": 1024,
"Hard": 1048576
}
}
}
重启docker服务:
bash
sudo systemctl daemon-reload
sudo systemctl restart docker
docker start u18
再次测试编译打包,速度飞快。OK,正常了