運行在主機上我們最近有很多的問題,部署了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