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 主机之间的文件共享。