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