【问题标题】:docker cp returning 'invalid output path' errordocker cp 返回“无效的输出路径”错误
【发布时间】:2021-05-28 03:08:36
【问题描述】:

用例:将包含一些凭据的文件从本地机器目录复制到现有且已创建的 Docker 容器/卷

根据documentation 使用docker cp,我构造了这样的命令行语句:

docker cp mynodered:/Users/<myUserName>/Documents/nodered-volume/creds.json /data/creds.json

但是,我一直收到一个错误返回: invalid output path: directory "/data" does not exist

【问题讨论】:

    标签: docker docker-volume


    【解决方案1】:

    最终,我发现 docker cp 语句的语法更改为:

    docker cp /Users/<myUserName>/Documents/nodered-volume/creds.json mynodered:/data/creds.json 解决了这个问题

    疑难解答 tl;dr

    1. 我没有在任何地方看到此文档,但对我有用的语法是 docker cp <current local filepath> containerName:/<intended container filepath>
    2. 确保在containerName:/<intended container filepath> 之间有 空格

    【讨论】:

      【解决方案2】:

      但是,我一直收到一个错误返回:无效的输出路径: 目录“/data”不存在

      由于此类目录不存在,您收到上述错误消息

      # ensure /data exists if not create directory
      mkdir -pv /data
      
      # now copy whatever from container to host directory
      docker cp <container-id-or-name>:/absolute/path/of/your/file /data
      
      

      【讨论】:

      • 谢谢 Akshay,我应该更清楚一点:/data 目录确实在我尝试 docker cp 之前就存在
      • 没错!我在下面发布了我的答案,但 Stackoverflow 不会让我改天再标记它
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-01
      • 2016-05-17
      • 2020-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-19
      相关资源
      最近更新 更多