0

我正在尝试在 docker run 期间将容器中存在的库安装到 docker 卷中。命令如下:

docker run -d  --name   mbus-docker -it --rm --mount source=/mbus/lib/libMurata.a,target=/mbus_volume   mbus-docker

我已经通过在容器中执行该库来验证该库是否存在于路径 /mbus/lib/libMurata.a 中

当我尝试将库安装到卷上时。我收到以下错误:

docker: Error response from daemon: create /mbus/lib: "/mbus/lib" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path.
4

2 回答 2

1

如果要挂载/mbus/lib/libMurata.a/mbus_volume容器内的路径上,则将挂载类型指定为bind.

你的 docker run 命令应该是

docker run -d  --name   mbus-docker -it --rm --mount type=bind,source=/mbus/lib/libMurata.a,target=/mbus_volume/   mbus-docker

这将安装/mbus/lib/libMurata.a/mbus_volume/文件夹上。

你得到的错误"/mbus/lib" includes invalid characters for a local volume name/mbus/lib无效的卷名。因为 mount 选项的默认绑定类型是 type volume。在这种情况下,它将尝试在您的系统上本地创建一个卷名/mbus/lib,该卷名是无效的卷名。

请通过这个

希望这可以帮助。

更新:

mbus_volume如果您的主机上存在名为的卷。然后试试这个:

docker run -d  --name   mbus-docker -it --rm --mount type=volume,source=mbus_volume,target=/mbus/lib/  mbus-docker
于 2019-07-31T05:59:11.243 回答
1

你可以使用:

docker run -d  --name   mbus-docker -it --rm -v /mbus/lib/libMurata.a:/mbus_volume/libMurata.a mbus-docker
于 2019-07-31T06:53:14.097 回答