在Docker中,我們經(jīng)常需要在啟動容器時(shí)掛載一些文件、目錄或者卷,讓容器能夠訪問和使用它們。這個(gè)過程非常簡單,只需要使用Docker命令中的-v或--mount來指定掛載的源文件或目錄,以及掛載到容器的目標(biāo)路徑即可。
# 使用-v參數(shù)掛載源文件或目錄 docker run -d -v /host/source:/container/target nginx # 使用--mount參數(shù)掛載源文件或目錄 docker run -d --mount type=bind,source=/host/source,target=/container/target nginx
這里需要注意的是,-v參數(shù)和--mount參數(shù)可以互相替換,但是--mount參數(shù)更為靈活,可以指定更多的參數(shù),例如掛載類型、讀寫權(quán)限等。
# 指定掛載類型 docker run -d --mount type=tmpfs,destination=/container/target nginx # 指定只讀掛載 docker run -d --mount type=bind,source=/host/source,target=/container/target,readonly nginx
除了掛載本地文件或目錄,我們還可以掛載網(wǎng)絡(luò)上的共享目錄或存儲,這樣就能在不同的Docker主機(jī)間共享同一個(gè)數(shù)據(jù)源。掛載網(wǎng)絡(luò)存儲的方法與掛載本地文件類似,只需要在源路徑中指定網(wǎng)絡(luò)地址即可。
# 掛載NFS網(wǎng)絡(luò)共享目錄 docker run -d --mount type=bind,source=192.168.1.100:/share,target=/container/target nfs
總的來說,Docker的掛載功能非常實(shí)用,能夠大大提高容器的可用性和便攜性,讓我們在不同的Docker主機(jī)間快速遷移和共享數(shù)據(jù)。