使用 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"
这似乎有效。
我有一台 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"
这似乎有效。