[英]How can a docker container get full access to a windows share without mounting the share in the host OS?
我在 linux 上使用 docker,我希望允許我的容器完全訪問具有以下結構的 Windows 共享(名為 myshare,具有適當的權限集):
d:\myshare
foo
bar
作為測試,我已經驗證將以下內容放入/etc/fstab
將創建一個安裝,允許我 RW 到 Windows 共享。
//172.16.68.6/myshare /home/me/foo cifs username=myuser,password=mypass,domain=172.16.68.6,uid=1000
我希望能夠在 docker 中創建一個卷,而不是使用/etc/fstab
,這樣我就可以在 docker-compose.yml 中執行以下操作
volumes:
- /myshare/foo:/foo
理想情況下,我希望能夠創建一個卷,然后只需附加目錄名稱(就像我在上面對foo
所做的那樣),這樣我就不必創建多個卷。 但到目前為止,我什至無法在連接到 Windows 共享的 docker 主機上創建安裝。 我什至不知道如何“窺視”卷的內部。 我試過使用 portainer,但它告訴我沒有使用音量。
我如何創建這個卷並使用它(最好在 docker-compose 中)?
我認為答案是使用docker volume插件。 https://docs.docker.com/engine/extend/plugins_volume/
優選地,已經存在一個。 搜索它,找到它,並按照其說明進行操作。 您應該能夠做到。 查看https://docs.docker.com/engine/extend/legacy_plugins/尋找可能的候選人。
或者,您可以編寫自己的Docker卷插件。 請確保將其發布以使他人受益。 這將需要大量的技能,因此可能不切實際。
這是我的 docker-compose.yml 對我有用。 您必須使用路徑中的 ip 地址:
version: '3.3'
services:
my-service:
build:
context: .
dockerfile: Dockerfile
volumes:
- logs:/mnt/logs
volumes:
spark_logs:
driver: local
driver_opts:
type: cifs
device: "//10.1.1.7/path/prd/sist/log"
o: username=${USER},password=${PASS},file_mode=0444,dir_mode=0444
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.