docker - 在容器中运行应用的情况下,从主机上打开/编辑/保存

标签 docker

最近,在为客户端部署应用程序的Linux版本时遇到了很多问题(更新的库,缺少的库,安装路径),并且我们正在寻求使用Docker进行部署。

我们的应用是用户界面,因此我们自然可以使用

-e DISPLAY:$DISPLAY -v /tmp/X11-unix:/tmp/X11-unix

我们实际上可以看到弹出的用户界面。

但是,当需要打开文件时,问题就从这里开始。我们只想浏览主机系统并将任何输出文件保存在主机上(输出目录由打开的文件的位置确定)。

您会为此建议什么策略?

我们希望客户端看不到本地运行或在Docker内部运行的应用之间的区别。我们正在处理启动脚本,因此客户端似乎仍会双击它以启动应用程序。我们可以在其中添加docker run命令所需的所有配置。

最佳答案

在@CFrei和@Robert的建议之后,这似乎是一个很好的解决方案:

docker run                                \
       -ti                                \
       -u $(id -u):$(id -g)               \
       -v /home/$(id -un):/home/$(id -un) \
       -v /etc/passwd:/etc/passwd         \
       -w $(pwd)                          \
       MyDockerImage

现在,该容器内创建的每个文件都完全位于用户拥有的主机上的正确目录中。

从容器内部看,它确实看起来像主机,这对客户端非常有用。

再次感谢您的帮助!

我希望这可以帮助其他人。

关于docker - 在容器中运行应用的情况下,从主机上打开/编辑/保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44415216/

相关文章:

python - 在服务器中对Gunicorn + Nginx + Django dockerized应用程序进行新更改

docker - 无法在主机外部访问docker kibana

docker - 如何使用持久性数据扩展Docker服务中的InfluxDB

docker - Dockerfile找不到复制的文件夹

Docker 推送到谷歌注册表的速度非常慢

mysql - docker-compose.yml问题nodejs和mysql

node.js - docker 容器退出并显示 "Local package.json exists, but node_modules missing, did you mean to install?"消息

docker - fedora 24 运行 docker 32 位镜像

database - 如何在 docker 容器内的 Oracle 数据库上使用 sqlplus?

docker - Docker撰写入口点文件