docker --mount
Docker提供了--mount
选项来挂载主机文件系统中的目录或文件到容器中。此选项相比于-v
或--volume
选项提供了更多的灵活性和功能。
--mount
选项可以指定挂载源的详细信息,比如源路径、目标路径、挂载选项等。它可以像下面这样使用:
docker run --mount type=bind,source=/host/path,target=/container/path,readonly=true
这个命令将主机文件系统中的/host/path
目录挂载到容器中的/container/path
目录,并且设置为只读模式。
--mount
选项支持以下几种类型:
bind
:将主机文件系统中的目录或文件挂载到容器中。可以指定挂载源的类型、源路径、目标路径、读写权限等。使用type=bind
来指定类型为绑定挂载。volume
:使用Docker卷来挂载。可以指定卷名称、目标路径、读写权限等。使用type=volume
来指定类型为卷挂载。tmpfs
:将一个tmpfs文件系统挂载到容器中的目标路径,只在容器运行时存在。可以指定大小、权限等。使用type=tmpfs
来指定类型为tmpfs挂载。
使用--mount
选项可以更好地控制挂载操作,灵活地配置容器与主机之间的文件共享关系。通过指定不同的挂载类型和参数,我们可以实现挂载主机文件、使用卷进行持久化存储和挂载临时文件系统等多种功能。
docker-desktop上创建了数据卷crawlab,docker-compose.yml上也写的crawlab这个名字,但是报错 service "master" refers to undefined volume crawlab: invalid compose project
这个错误提示表明 docker-compose
配置文件中使用了一个未定义的数据卷名称 crawlab
,导致在启动容器时无法找到该数据卷。您需要确认以下几个方面:
确认
docker-compose.yml
中是否定义了名为crawlab
的数据卷,可以使用以下命令查看:docker volume ls
如果没有名为
crawlab
的数据卷,则需要先创建该数据卷:docker volume create crawlab
确认
docker-compose.yml
中是否正确使用了数据卷crawlab
,可以在docker-compose.yml
中进行如下配置:services: master: ... volumes: - crawlab:/path/to/mount volumes: crawlab:
其中
volumes
字段下定义了名为crawlab
的数据卷,master
服务中的volumes
字段使用了该数据卷。确认
docker-compose.yml
文件是否语法正确,可以使用以下命令进行检查:docker-compose config
如果语法有误,则需要修改
docker-compose.yml
文件中的错误。
docker update --mount type=bind,source=/etc/docker/daemon.json,target=/etc/docker/daemon.json,readonly=false 4f7188cc4b79执行这条命名时报错unknown flag: --mount See 'docker update --help'.
这个命令是用于更新一个正在运行的 Docker 容器的配置的。然而,--mount
这个选项是在 Docker 17.06 版本之后才被引入的,如果你的 Docker 版本过低,就会出现 unknown flag: --mount
的错误提示。
你可以尝试使用 -v
或 --volume
这个选项来代替 --mount
,这个选项在早期版本的 Docker 中也是可用的。例如:
docker update -v /etc/docker/daemon.json:/etc/docker/daemon.json:ro 4f7188cc4b79
这个命令将会将宿主机上的 /etc/docker/daemon.json
文件映射到容器内的 /etc/docker/daemon.json
,并且设置为只读模式。
相关推荐
















