我对 dockerfiles 非常陌生,想通过容器创建一个目录文件夹。图像和容器构建成功,但未创建文件夹。以下是我的 dockerfile:
FROM ubuntu
MAINTAINER Ibrahim
# create data folders
RUN mkdir -p -v D:\test
答案 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
)