使用 windows docker 容器中的本地帐户访问同一网络上的机器

Using local accounts in windows docker container to access machines on the same network

我有一台 Windows 机器,网络上的机器 1 有一个名为 testlocal 的本地帐户。

我有另一台机器,网络上的机器 2,具有相同的本地帐户,testlocal。

在我的机器 1 上,我可以访问一个启用了 testlocal 共享的文件夹,因为我在两台机器上的 testlocal 用户名和密码都与本地帐户相同。

现在,当我在机器 1 上构建一个 docker 容器时。我看到我可以 ping 机器 2。我什至可以调用:

net use \machine2 <password> /USER:machine2\testlocal

并获得对共享驱动器的访问权限。

但是,当我在机器 1 上的 docker 文件中执行以下操作时:

RUN net user testlocal <password> /ADD /EXPIRES:NEVER
RUN net LOCALGROUP Administrators /ADD testlocal

然后cmd进入machine1的容器中测试,运行时提示密码错误:

net view \machine2 /USER:testlocal

上述命令失败后提示输入密码,然后我输入密码(与我在 docker 文件中指定的密码完全相同)并且它有效。

我的目标是在我的容器中有一个入口点,允许用户输入公共本地帐户的凭据,然后让容器中的应用程序 运行 无需用户名即可访问那些共享驱动器和密码。

获取 windows 共享的正确方法是什么? 这种做法合理吗?

最终确保应用程序 运行 将在初始化时设置网络共享。必须执行系统调用:

NET use \\<sharePath> <password> /USER:<user> /PERSISTENT:YES"

这似乎有效。