当前位置: 首页 > 知识库问答 >
问题:

在Docker中作为目录装入的单个文件卷

柴英光
2023-03-14

-v标志还可以用于从主机装入单个文件(而不仅仅是目录)。

$docker运行--rm-it-v~/.bash_history:/.bash_historyUbuntu/bin/bash

这将使您进入一个新容器中的bash shell,您将获得来自主机的bash历史记录,当您退出容器时,主机将获得在容器中键入的命令的历史记录。

tom@u ~/project $ docker run --rm -it -v file.json:/file.json test
total 80K
drwxr-xr-x  9 root root 4.0K Dec  7 12:58 .
drwxr-xr-x 63 root root 4.0K Dec  7 12:58 ..
drwxr-xr-x  2 root root 4.0K Dec  4 16:10 file.json
FROM ubuntu:14.04
MAINTAINER Tom
CMD ["ls", "-lah", "/test"]

Docker版本为1.9.1,版本为A34A1D5。

这是一个文件问题,是我这边的一个误解,还是有其他的事情发生了?

共有1个答案

施锋
2023-03-14

test是您使用“Docker build-t test”生成的映像的名称,而不是/test文件夹。

尝试使用DockerFile:

CMD ["ls", "-lah", "/"]
or
CMD ["cat", "/file.json"]

和:

docker run --rm -it -v $(pwd)/file.json:/file.json test
 类似资料:
  • 问题内容: Docker文档指出,可以将单个文件装载到Docker容器中: -v标志还可用于从主机挂载单个文件-而不是目录。 这会将您放入新容器中的bash外壳中,您将从主机获得bash历史记录,退出容器时,主机将具有在容器中键入命令的历史记录。 但是,当我尝试将文件挂载为目录时: 我的Dockerfile看起来像这样: Docker版本为1.9.1,内部版本为a34a1d5。 这是文档问题,还是

  • 运行此命令时,文件将作为目录而不是文件装入容器中。 我在Docker中通过单个文件卷挂载为目录,以及其他一些类似的堆栈溢出问题,但无法得到正确的解决方案。 我已经测试了相同的代码在本地mac笔记本电脑和这里的文件从本地机器挂载到容器作为一个文件,但在本地,我没有docker-in-docker设置。 我有Dockerfile如下所示。 在docker-in-docker环境中挂载文件有哪些不同的解

  • 每当我更改主机上目录或容器中的内容时,它就会在另一边按预期进行更改。他们和他们应该做的一样。 档案就不是这样了。它被复制(我猜)到容器中。但是,如果更改主机上的或,则另一个文件将保持不变。 那是预期的行为吗?如果是,为什么和是否有可能改变它,这两个文件是相同的与目录 注意:这不是如何在卷中装入单个文件的重复。我得到我的文件作为文件,而不是作为目录或这样。尽管如此,我还是尝试了使用的绝对目录,但没有

  • 对于本地开发人员,我需要在Docker容器中装入一个不同的配置文件。使用命令行就很容易实现。是否可以从文件中的(使用创建)执行此操作?

  • 我正在尝试对接一个PHP应用程序。在dockerfile中,我下载归档文件,解压缩文件,等等。 一切正常。但是,如果发布了一个新版本,并且我更新了dockerfile,我就必须重新安装应用程序,因为config.php会被覆盖。 所以我想我可以将文件装入一个卷,就像我对数据库所做的那样。 然而,这两种方式都行不通。有了装入的卷,我看到上传被创建了。 但它失败的原因是: /var/www/html/

  • 问题内容: 我没有。对于小文件,我想使用CombineFileInputFormat合并文件,以便每个文件数据作为MR作业中的单个记录出现。我遵循了http://yaseminavcular.blogspot.in/2011/03/many- small-input-files.html 并尝试将其转换为新的api 我面临2个问题: a)我只是用2个小文件对其进行测试,但仍然触发了2个映射器。我预