Docker 容器默認情況下不能直接訪問宿主機的文件系統,但你可以通過以下幾種方式實現 Docker 容器與 CentOS 主機之間的文件共享:
掛載卷(Volumes):
使用 -v
或 --volume
選項將宿主機上的目錄或文件掛載到容器中。這是最常用的方法之一。
docker run -v /path/to/host/directory:/path/to/container/directory your-image
這樣,宿主機上的 /path/to/host/directory
目錄就會被掛載到容器的 /path/to/container/directory
目錄下。
綁定掛載(Bind Mounts): 綁定掛載是掛載卷的一種特殊形式,它允許你指定一個完整的路徑,并且可以指定掛載選項。
docker run -v /path/to/host/directory:/path/to/container/directory:ro your-image
這里 :ro
表示只讀掛載。
使用 Docker Compose:
如果你在使用 Docker Compose,可以在 docker-compose.yml
文件中定義卷。
version: '3'
services:
your_service:
image: your-image
volumes:
- /path/to/host/directory:/path/to/container/directory
使用臨時文件系統(tmpfs):
如果你需要在容器內使用臨時文件系統,可以使用 tmpfs
。
docker run --tmpfs /path/to/container/directory:rw,size=1g your-image
這里 size=1g
表示分配 1GB 的內存空間給臨時文件系統。
使用 Docker 的 --mount
選項:
從 Docker 17.06 開始,你可以使用 --mount
選項來掛載卷。
docker run --mount type=bind,source=/path/to/host/directory,target=/path/to/container/directory your-image
通過以上方法,你可以輕松實現 Docker 容器與 CentOS 主機之間的文件共享。