Docker 是現代應用程序開發中的必備工具之一,它可以輕松地為我們提供開發、測試和部署所需的環境。而其中一個非常重要的概念就是數據卷,它可以將主機上的文件夾掛在到容器中,這樣容器就可以訪問到主機上的文件。
然而,在某些情況下,如果我們不需要讓容器訪問主機上的文件,那么我們可以選擇不掛載數據卷。下面看一下具體實現。
docker run -itd --name=web nginx
上面的命令表示啟動一個名為“web”的容器,使用 nginx 鏡像,并且不掛載任何數據卷。
此時,如果我們需要在容器內部查看主機上的文件,可以通過直接拷貝方式實現:
docker cp /path/on/host/file web:/path/in/container/file
需要注意的是,在這種情況下容器會使用其自己的文件系統,所有的數據都存儲在容器內部。因此如果你從主機上修改了容器內部的文件,容器將不會自動更新,請手動執行如下命令:
docker start web
docker exec web sh -c 'nginx -s reload'
總結起來,不掛載數據卷也是非常常見的一種場景,特別是在測試和開發環境中。接下來,可以根據自己的實際需要來選擇是否掛載數據卷。