我有一个需要从docker主机获得nscd套接字的坞化应用程序。因此,我绑定在运行时挂载套接字。DNS、getpwnam、getpwuid等都能正常工作。奇怪的是,我发现gethostbyname不再工作了。例如:
docker run --rm -v /var/run/nscd/socket:/var/run/nscd/socket ubuntu hostname -i
hostname: Name or service not known然而,在阿尔卑斯山,它确实有效:
docker run --rm -v /var/run/nscd/socket:/var/run/nscd/socket alpine hostname -i
172.18.85.4有人知道为什么这会破坏gethostbyname,以及如何修复它吗?
更新:如果我在主机和容器上使用相同的glibc,它仍然会中断:
ldd --version
ldd (GNU libc) 2.17
docker run --rm centos ldd --version
ldd (GNU libc) 2.17
docker run --rm -v /var/run/nscd/socket:/var/run/nscd/socket centos hostname -i
hostname: Name or service not known发布于 2020-07-31 00:01:09
将LOCALDOMAIN设置为nothing有效:
docker run -it --rm -v /var/run/nscd/socket:/var/run/nscd/socket --env LOCALDOMAIN='' centos hostname -ihttps://stackoverflow.com/questions/63181620
复制相似问题