我们有一些 Windows 服务器,通常可以通过 wins 访问它们,没有任何问题。但是,我无法在 docker 容器中通过 wins 正确解析 ip 地址。
以下是 Dockerfile:
FROM ubuntu:14.04
RUN apt-get update && apt-get install -y winbind libnss-winbind
ADD nsswitch.conf /etc/nsswitch.conf
使用文件nsswitch.conf
:
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
hosts: files wins dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
在容器中,我无法使用ping
wins 中的名称来命名机器,但是它nmblookup
可以工作。
我是否错过了一些使 winbind 正常工作的因素?
答案1
winbindd 不是 NBNS/WINS 客户端 –纳米比亚是。
在nmblookup
直接谈论 NBNS 时,nss-wins 模块依赖于“nmbd”服务(用于缓存、“浏览器”选举等)。
答案2
其实在设置完wins服务器之后/etc/smb.conf
就可以了。