docker挂载目录或文件至容器,宿主机大概是做了哪些操作?比如是将目录挂载到了哪里?

Docker挂载目录或文件至容器,实际上是将宿主机上的目录或文件通过volumes映射到了容器内部,在容器内看到的就是挂载的目录或文件。具体操作如下:

  1. 创建一个目录或文件并且保存在宿主机的文件系统中。
  2. 调用Docker的run命令,并使用-v选项指定挂载点,命令示例:
docker run -d -v /path/on/host:/path/in/container my_image

其中,-v选项用于指定要挂载的宿主机目录或文件(/path/on/host),以及容器内的挂载点(/path/in/container)。
3. 当容器运行时,Docker将在容器文件系统内创建一个挂载点,并将宿主机上的目录或文件通过“双向”复制的方式,复制到挂载点上。也就是说,宿主机和容器内的文件是同步的,并不是像虚拟机一样经过一层虚拟的文件系统来提供给容器使用的。

因此在宿主机上能看到的,就是被映射到容器内的文件或目录,而在容器内部看到的就是宿主机上指定的目录或文件。

需要注意的是,宿主机和容器内的文件系统可能并不一致,比如如果宿主机是Windows系统而容器是Linux系统时,需要注意文件路径的大小写是否一致,否则可能会出现文件找不到的情况。

posted @ 2023-04-23 11:50  flytoyou  阅读(866)  评论(0)    收藏  举报