我正在尝试将本地目录挂载到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 _.-]”允许的。如果要传递主机目录,请使用绝对路径。
因此,如果我理解这一点,则在路径中使用破折号是可以的。问题可能在哪里?
答案 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