Docker mkdir 不创建目录

时间:2021-01-05 07:00:50

标签: docker dockerfile

我对 dockerfiles 非常陌生,想通过容器创建一个目录文件夹。图像和容器构建成功,但未创建文件夹。以下是我的 dockerfile:

FROM ubuntu
MAINTAINER Ibrahim

# create data folders
RUN mkdir -p -v D:\test

2 个答案:

答案 0 :(得分:1)

在 linux 中,您必须使用普通斜杠而不是反斜杠。 (https://phoenixnap.com/kb/create-directory-linux-mkdir-command)

RUN mkdir -p -v /test

答案 1 :(得分:1)

您正在尝试在本地机器上创建目录,同时您正在使用 Docker。 您需要了解,Docker 容器基本上运行在虚拟机上,而虚拟机基本上甚至不知道您的本地机器。

从评论看来,您确实想在本地计算机上创建目录。 您必须使用 BIND MOUNT。 它基本上是一个与本地计算机上提供的目录具有“完全”连接的卷:https://docs.docker.com/storage/bind-mounts/

FROM ubuntu
MAINTAINER Ibrahim

WORKDIR /yourWorkingDir_IN_DOCKER_CONTAINER_FILESYSTEM

# create data folders
RUN mkdir -p -v /<path_to_created_dir>

然后运行:

docker run ..... -v <path_to_your_localhost_dir>:<path_to_Dir_in_docker_container>

请注意,在 Dockerfile 中声明卷(使用 VOLUME)对创建卷没有帮助,但仅当 DOCKER RUN 使用 -v 选项(或使用更高级的选项) :docker-compose)