如何连接到在 docker 中运行的 samba 服务器
Posted
技术标签:
【中文标题】如何连接到在 docker 中运行的 samba 服务器【英文标题】:how to connect to samba server running in docker 【发布时间】:2018-12-02 16:25:42 【问题描述】:我在 mac 上运行 Docker 版本 17.09.0-ce-mac35。我想让一个 samba 服务器作为 docker 容器的一部分运行,然后从我的 mac 连接到正在运行的 samba 服务器。我为此使用https://github.com/dperson/samba。
我这样运行 samba 服务器:
➜ ~ sudo docker run -it -p 139:139 -p 445:445 -v /Users/anthony:/mount -d dperson/samba \
-u "example1;badpass" \
-u "example2;badpass" \
-s "public;/share" \
-s "users;/srv;no;no;no;example1,example2" \
-s "example1 private;/example1;no;no;no;example1" \
-s "example2 private;/example2;no;no;no;example2"
我可以 bash 进入容器并查看我在 /mount
中的所有文件。但是,当我尝试在 Finder > Go > Connect to server 中从 mac 连接到 samba 服务器时,连接时出现错误。我尝试了以下方法:
smb://0.0.0.0
smb://localhost
smb://0.0.0.0/public
smb://localhost/public
smb://<docker_ip>/
smb://<docker_ip>/public
它们都不起作用。有什么我想念的吗?还是有其他方法可以让 smb 共享在 mac 上运行以进行测试/播放?
【问题讨论】:
您是否尝试过设置功能 SYS_ADMIN 和 DAC_READ_SEARCH 就像这里解释的 github.com/moby/moby/issues/22197? 【参考方案1】:尝试使用 Samba 用户和本地主机名进行连接: smb://example1@localhost
【讨论】:
【参考方案2】:你忘记了端口。
试试smb://ip:139/public
【讨论】:
只有在使用非默认端口时才需要提供端口。默认的 CIFS(smb over IP)端口是 139 和 445。以上是关于如何连接到在 docker 中运行的 samba 服务器的主要内容,如果未能解决你的问题,请参考以下文章
如何将 mysql 工作台连接到在 docker 中运行 mysql?
如何将在 Docker 容器中运行的 Grafana 连接到在主机上运行的 Prometheus 数据源(在 Docker for Mac 上)?
如何将 Pyspark 连接到在 docker 上运行的 datastax Cassandra?