【问题标题】:mkdir command with dockermkdir 命令与 docker
【发布时间】:2017-06-23 04:54:54
【问题描述】:

在我的 docker 容器中,这个命令 mkdir -p -m 755 directoryName 在给定路径创建一个目录(蓝色文件)。但是,在 docker 之外,当我尝试使用相同的命令 mkdir -p -m 755 ContainerID:/root/.../directoryName 创建目录时,它似乎正在创建一个可执行文件(绿色文件)。

这造成了麻烦,因为我使用“创建目录”命令将内容复制到其中,而当我在 docker 之外执行此操作时该命令失败。

当我在 docker 外部执行时,这就是我的完整命令:

mkdir -p -m 755 ContainerID:/root/../dirName && docker cp someImage.jpg ContainerID:/root/../dirName

对如何进行这项工作有任何想法吗?

【问题讨论】:

    标签: java docker mkdir


    【解决方案1】:

    说实话,我从来没有听说过这样的 mkdir 语法,引用不同的主机,但无论如何(即使它被支持)我都不会使用它。您应该以docker exec ContainerID mkdir -p -m 755 /root/../dirName

    的形式在 docker 容器中执行任何您想要执行的操作

    如果您想将多个命令放在同一个 docker exec 调用中,您可以通过执行 docker exec ContainerID bash -c "whatever && whatever2 && ... whateverX" 来实现

    请记住,这些命令将以 Dockerfile 中引用的用户身份执行,并带有 USER 子句,默认为 root。在某些图像中,用户被设置为不同的东西,导致在执行此类操作时出现权限问题。遵循的正确方法取决于您想要实现的目标。

    希望对您有所帮助! :)

    【讨论】:

      猜你喜欢
      • 2013-01-10
      • 2018-03-06
      • 1970-01-01
      • 2020-10-04
      • 1970-01-01
      • 1970-01-01
      • 2018-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多