我有一個運行在Docker容器中的Web應用程序。此應用程序需要訪問公司文件服務器上的某些文件(帶有Active Directory域控制器的Windows Server)。我嘗試訪問的文件是爲我們的客戶創建的圖像文件,Web應用程序將它們顯示爲客戶組合的一部分。在Docker容器中安裝SMB/CIFS共享
在我的開發機器上,我通過/etc/fstab
中的條目安裝了相應的文件夾,並且通過--volume
參數將主機掛載點安裝在Docker容器中。這工作完美。
現在我試圖把一個生產容器放在一起,它將運行在不同的服務器上,並且不依賴主機上掛載的CIFS共享。所以我試圖將相應的條目添加到容器&中的/etc/fstab
文件中,並使用mount -a
進行裝載。我得到mount error(13): Permission denied
。
一個小小的研究網絡導致我this article about Docker security。如果我正確地閱讀它,看起來Docker顯式拒絕在容器中裝載文件系統的能力。我試圖以只讀方式掛載股票,但這(意外)也失敗了。
所以,我有兩個問題:
難道我的理解是,碼頭工人防止任何使用
mount
內部容器是否正確?任何人都可以想出另一種方法來完成這個沒有在主機上安裝CIFS共享,然後將主機文件夾掛載到Docker容器中?
感謝您的幫助! – Kryten
我已經將--privileged標誌添加到docker運行命令中......但我的CIFS共享不會在容器啓動時自動加載。從容器裏面,如果我把mount -a全部正常工作。 有什麼建議嗎?謝謝。 –
@FabrizioA安裝卷是客人的責任。允許(或不允許)安裝卷是Docker的責任。如果您需要更多幫助,您應該提出一個新問題,因爲這與Kryten的問題不一樣。 –