java - 使用 docker 执行 mkdir 命令

标签 java docker mkdir

在我的 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

关于如何实现这项工作有什么想法吗?

最佳答案

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

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

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

希望有帮助! :)

关于java - 使用 docker 执行 mkdir 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42064566/

相关文章:

java - 解决-与TP相关的问题必须调用Libgdx SpriteBatch.end ...不要捕获错误

docker - 从另一个容器通过 openvpn 客户端容器连接

希伯来语中的 php mkdir() 创建乱七八糟的文件夹

c - 我如何在 C 编程的 mkdir 函数中传递像 ("~/test/foo"这样的字符串文字?

java - 两个基本相同的代码库,我如何适本地合并它们?

java - 如何使用流实现 hashmap 的 isEmpty() ?

java - Eclipse IDE、Ubuntu、Java如何将程序编译为独立运行?

python - docker-从更新的代码执行文件

docker - 为什么dockered centos无法识别 pip ?

linux - linux下如何自动创建目录?