- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在尝试创建一个 docker 容器,该容器具有一个应包含多个文件夹的外部卷,因此我的 Dockerfile 简化版本如下所示:
FROM ubuntu:12.04
# Create a volume for externally stored data that will persist across containers.
VOLUME ["/uploads"]
# Add the subfolders we need if they dont already exist
# however this never works.
RUN mkdir /uploads/folder1
RUN mkdir /uploads/folder2
每当我使用
启动容器时sudo docker run -i -t -v /uploads:/uploads [IMAGE ID] /bin/bash
/uploads 文件夹不包含文件夹 1 或文件夹 2。但是,如果我用 RUN mkdir/uploads
替换 VOLUME 上传行,它确实可以使用此命令
sudo docker run -i -t [IMAGE ID] /bin/bash
但不使用此命令(文件夹再次丢失):
sudo docker run -i -t -v /uploads:/uploads [IMAGE ID] /bin/bash
如何设置 dockerfile,以便在运行容器时将文件/文件夹自动添加到主机挂载目录中?
最佳答案
How can I set up the dockerfile so that files/folders will automatically get added to the hosts mounted directory upon running the container?
你没有。 Dockerfile 用于创建镜像,设置镜像内容。您可以直接在 shell 中设置 挂载目录 的内容:
# create folders:
mkdir /uploads123
mkdir /uploads123/folder1
mkdir /uploads123/folder2
# run container
docker run -i -t -v /uploads123:/uploads [IMAGE ID] /bin/bash
# for this trivial case, you can use directly ubuntu image,
# it works, no need for Dockerfile
或者,您可以在启动主进程之前设置一些设置脚本以在容器中运行。此设置脚本可以使用必要的文件夹填充已安装的卷。
为了解释这种行为 - 您的命令 RUN mkdir/uploads/folder1
确实在图像中创建了文件夹,但是您 shadow 安装了卷的文件夹,所以您这样做了看不到这个文件夹(文件夹在图像中,不在主机文件夹中)。您不能在 Dockerfile 中的卷上创建文件夹,因为卷是稍后在运行时挂载的(容器)。
关于volume - Docker Volumes - 自动添加文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23131687/
docker volume 命令中使用的两个标志之间的确切区别是什么 -v和 --volumes-from .在我看来,他们正在做同样的工作,请考虑以下场景。 首先让我们创建一个名为 myvol 的卷
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
我正在尝试创建一个 docker 容器,该容器具有一个应包含多个文件夹的外部卷,因此我的 Dockerfile 简化版本如下所示: FROM ubuntu:12.04 # Create a volum
我正在使用打开 Kubernetes 选项的 docker 应用程序运行 mac OSX Catalina。我使用以下 yaml 和命令创建了一个 PersistentVolume。 apiVersi
我看到了 docker-compose 模式,但我很困惑。制作组合容器的最佳方法是什么。什么时候应该使用 link 或 volumes_from。我什么时候应该使用 volumes_from, vol
我对创建 docker volume create my-vol 之间的区别感到困惑。和 VOLUME ["/var/www"] . 我的理解是: 1) docker volume create my
要在 Kubernetes POD 中使用存储,我可以使用 volumes和 persistent volumes .而卷像emptyDir是短暂的,我可以使用 hostPath以及许多其他基于云的卷
使用 btrfs 驱动程序在 RHEL 7.1 上运行 docker v1.10.1。我有一个单独的 xfs 分区,我想在其中挂载数据卷。我宁愿让 docker 本地管理卷(即使用 docker vo
我想在我的 docker-compose 文件中设置一个标志,如果我不需要我的数据库卷是否不会在容器外持久化,但我仍然想要一个卷条目,如果我的数据库很小那么我不希望它执着于外。 最佳答案 您可以使用两
我是 Kubernetes 的新手,我很难理解 Kubernetes 中持久存储背后的整个想法。 这就足够了吗,或者我必须创建持久卷,如果我只部署这两个对象而不创建 PV 会发生什么情况? 存储应该在
我正在研究 kubeflow 管道以及管道的不同组件如何相互链接。为此,我使用了官方 GitHub 存储库中提供的 MNIST 项目示例。但我无法理解以下代码片段中 vop.volume 和 mnis
我正在尝试设置 Dockerfile将我的主机目录挂载到我指定的 docker 容器目录(因此代码更改将立即反射(reflect)出来)。当我运行 docker run -p 3000:3000 -d
我有一个使用 docker-compose 在 Ubuntu 服务器上运行的 Jira 实例。 我最初通过将 jira 安装文件夹映射到名为 jiravolume 的 docker 卷来设置它。 vo
如何检测在 iOS/Android 上是否按下了 + 或 - 按钮? 最佳答案 我认为它对 iOS 有帮助.. - (void)viewWillAppear:(BOOL)animated {
我是 Docker 的新手。我在 Windows 10 企业版 上运行,并尝试将在 Windows 上运行的现有应用容器化(因此它是一个 Windows 容器)。我不知道这是否重要,但容器相当大 (8
我已经断断续续地搜索文档、邮件列表几天了,但似乎找不到答案。 我有一个 OS X 应用程序,除其他外,它可以使用 kAudioDevicePropertyVolumeScalar 等查询可用的硬件设备
了解了docker(在Ubuntu 18.04 LTE(仿生)上),特别是关于管理持久数据的知识,我发现docker volumes。 按照那里的示例,我尝试将一些文件添加到卷中,然后从容器中列出它们
在这段代码中,如果Volume>10mil,我开始将体积添加到Cumulative Volume,我们在蜡烛下面创建一条线,一直延伸到当前条,因此Volume>10mil,我们创建一条线,Cumvol
这个问题在这里已经有了答案: Kubernetes NFS Persistent Volumes - multiple claims on same volume? Claim stuck in p
使用 docker-compose synthax v2,我们能够做这样的事情: version: '2' services: app: image: tianon/true vo
我是一名优秀的程序员,十分优秀!