本地卷包含无效字符

时间:2019-11-22 14:20:16

标签: docker docker-compose dockerfile docker-swarm docker-machine

我正在尝试将本地目录挂载到docker容器。这是我使用的命令:

docker run -itd --rm --name chatbot --mount source="$(pwd)",target=/instagram-dm-webhook-service  chatbot:12

当前工作目录为:/home/user/instagram-dm-webhook-service

我收到此错误:

  

“ / home / user / instagram-dm-webhook-service”包含本地卷名的无效字符,只有“ [a-zA-Z0-9] [a-zA-Z0-9 _.-]”允许的。如果要传递主机目录,请使用绝对路径。

因此,如果我理解这一点,则在路径中使用破折号是可以的。问题可能在哪里?

2 个答案:

答案 0 :(得分:1)

有趣的是,仅添加此选项也不起作用/"/$(pwd)"

  • 将托管卷装入容器
  • 绑定将目录或文件从主机绑定到容器中

有关安装类型的更多详细信息-https://docs.docker.com/engine/reference/commandline/service_create/#add-bind-mounts-or-volumes

因此,您需要将mount 类型明确添加 bind 以安装目录。

docker run -it --mount type=bind,source="/$(pwd)",target=/root ubuntu:18.04 /bin/bash
root@eda980649055:/# cd /root
root@eda980649055:~# ls
Jenkinsfile.migrate  LICENSE.txt  README.md  pom.xml  src  target

答案 1 :(得分:0)

您需要在$(pwd)之前加上/

docker run -itd --rm --name chatbot --mount source="/$(pwd)",target=/instagram-dm-webhook-service  chatbot:12