1 回答

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(gè)贊
你的假設(shè)
我知道不可能更改通過(guò)卷共享的文件的權(quán)限
僅部分正確,實(shí)際上有一組模式 —?:ro
&?:rw
— 您可以在通過(guò)文檔中描述的 docker-compose 安裝卷時(shí)使用:
標(biāo)準(zhǔn)模式
ro
用于只讀和rw
讀寫(默認(rèn))。
如果您的主機(jī)使用 .,您也可以使用:Z
和模式。:z
selinux
如果使用,
selinux
可以添加z
或選項(xiàng)來(lái)修改掛載到容器中的主機(jī)文件或目錄Z
的 selinux 標(biāo)簽。這會(huì)影響主機(jī)本身上的文件或目錄,并可能產(chǎn)生 Docker 范圍之外的后果。
該
z
選項(xiàng)表示綁定掛載內(nèi)容在多個(gè)容器之間共享。該
Z
選項(xiàng)表示綁定裝載內(nèi)容是私有的且不共享的。使用這些選項(xiàng)時(shí)要格外小心。綁定安裝一個(gè)系統(tǒng)目錄,如
/home
或/usr
選項(xiàng)Z
會(huì)使您的主機(jī)無(wú)法操作,您可能需要手動(dòng)重新標(biāo)記主機(jī)文件。
這是一個(gè)示例,在我的主機(jī)上,這是我的文件的權(quán)限:
~ # ls -la ro rw?
ro:
total 0
drwxr-xr-x? 3 ben? staff? ?96 May 23 23:06 .
drwxr-xr-x? 9 ben? staff? 288 May 23 23:16 ..
-rw-r--r--? 1 ben? staff? ? 0 May 23 23:06 file
rw:
total 0
drwxr-xr-x? 3 ben? staff? ?96 May 23 23:06 .
drwxr-xr-x? 9 ben? staff? 288 May 23 23:16 ..
-rwxr-xr-x? 1 ben? staff? ? 0 May 23 23:06 file
然后用這個(gè)docker-compose.yml
version: '3.8'
services:
? test:
? ? image: alpine
? ? volumes:
? ? ? - ./ro:/root/ro:Z
? ? ? - ./rw:/root/rw:Z
? ? command: sleep 100000000000
這是容器上的結(jié)果
~ # ls -la ro rw
ro:
total 4
drwxr-xr-x? ? 3 root? ? ?root? ? ? ? ? ? 96 May 23 21:06 .
drwx------? ? 1 root? ? ?root? ? ? ? ? 4096 May 23 21:17 ..
-rw-r--r--? ? 1 root? ? ?root? ? ? ? ? ? ?0 May 23 21:06 file
rw:
total 4
drwxr-xr-x? ? 3 root? ? ?root? ? ? ? ? ? 96 May 23 21:06 .
drwx------? ? 1 root? ? ?root? ? ? ? ? 4096 May 23 21:17 ..
-rwxr-xr-x? ? 1 root? ? ?root? ? ? ? ? ? ?0 May 23 21:06 file
- 1 回答
- 0 關(guān)注
- 129 瀏覽
添加回答
舉報(bào)