运行在主机上我们最近有很多的问题,部署了Linux版本我们的应用程序的客户端(更新库,缺少库,安装路径),和我们希望使用Docker进行部署。打开/编辑/保存从应用程序容器
我们的应用程序的UI,所以我们很自然地映射,使用
-e DISPLAY:$DISPLAY -v /tmp/X11-unix:/tmp/X11-unix
,我们其实可以看到界面弹出。
但是当打开文件的时候,问题就从那里开始。我们只想浏览主机系统并在主机上保存任何输出文件(输出目录由打开的文件的位置确定)。
您对此有何建议?
我们希望客户端看不到在本地或Docker内部运行的应用程序之间的区别。我们正在开发一个启动脚本,所以看起来客户端仍然会双击它启动应用程序。我们可以在那里为码头运行命令添加我们需要的所有配置。
我在想映射,其中容器被推出容器内的目录位置。但是我不确定当客户端选择要打开的文件时它可以用于“打开对话框”窗口。如果他上了一个目录,他就回到了容器中。希望他不会回去超越这一点:“到/ mnt /主机-v /”我在想映射。但是让容器像这样完全访问是有风险的。 – widgg
乍一看似乎是一种风险。但是,它将如何与在主机中直接安装应用程序不同?您可以将您的容器应用程序作为特定的用户名运行。 (但是,是的,无论如何听起来都有风险) – Robert
请记住容器默认以root身份运行。因此,所有创建的文件都具有根访问权限(仅)。你可以用'docker run' -u ...'来改变用户。您可能还想包含'-v/etc/passwd:/ etc/passwd'以在您的容器中包含您的用户名。 – CFrei