【问题标题】:docker : can't mount some directory from hostdocker:无法从主机挂载某些目录
【发布时间】:2017-02-08 00:51:37
【问题描述】:

我有docker最新的centos镜像,宿主机是ubuntu。

我的主机上有一些脚本,路径为:

/home/username/untitled1/preReq.sh

我正在尝试在我的 centos docker 中执行此脚本。 当我挂载脚本的目录时,我看不到任何东西,而且似乎我正在挂载根目录。

我正在使用这个命令(来自 ~)

docker run --rm -it -v ${PWD}:/untitled1  centos

有人知道怎么解决吗?

【问题讨论】:

  • 我删除了我之前的答案,因为它不适用于您的情况。 echo ${PWD} 输出什么? docker run --rm -v ${PWD}:/untitled1 centos ls -l /untitled1ls -l ${PWD} 输出什么?

标签: docker centos


【解决方案1】:

如果您在目录中,请使用pwd 命令(不带大写字母):

docker run --rm -it -v ${pwd}:/untitled1  centos

如果您与该用户一起运行,则使用 $HOME 环境变量:

docker run --rm -it -v ${HOME}:/untitled1  centos

【讨论】:

    【解决方案2】:

    建议

    docker run --rm -it -v `pwd`:/untitled1 centos
    

    至少对我有用。

    ${X}
    

    评估环境变量XPWD 通常由你的 shell 设置:

    $ export
    [...]
    declare -x PWD="/home/user"
    [...]
    

    另一方面,pwd 是将当前工作目录生成到 STDOUT 的程序:

    $ whereis pwd
    pwd: /bin/pwd /usr/include/pwd.h /usr/share/man/man1/pwd.1.gz
    $ pwd
    /home/user
    

    使用前面的 docker 命令执行程序并插入其 STDOUT 生成:

    docker run --rm -it -v /home/user:/untitled1 centos
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-10
      • 2017-12-27
      • 2021-07-04
      • 1970-01-01
      • 1970-01-01
      • 2019-02-08
      • 2016-03-25
      • 2019-07-08
      相关资源
      最近更新 更多