当前位置: 首页 > 面试题库 >

如何在Linux主机上的Docker容器内挂载目录

农鸿德
2023-03-14
问题内容

我想将目录从docker容器挂载到本地文件系统。该目录是网站根目录,我需要能够使用任何编辑器在本地计算机上对其进行编辑。

我知道我可以运行,docker run -v local_path:container_path但是这样做只能在容器内创建一个空目录。

如何在Linux主机上的Docker容器内挂载目录?


问题答案:

如果您的目标是提供现成的LAMP,则应在Dockerfile中使用VOLUMES声明。 VOLUME volume_path_in_container
问题是docker不会挂载文件,因为它们已经在创建卷的路径中已经存在。您可以按照@ Grif-
fin在他的评论中所说的去做,或者修改容器的入口点,以便他在运行时将要公开的文件复制到该卷中。

您必须在Dockerfile中使用build COPYADD命令插入数据,以便基本文件将出现在容器中。

然后创建一个入口点,它将文件从COPY路径复制到卷路径。

然后使用-v标签和like运行容器-v local_path:volume_path_in_container。这样,您应该将容器内部的文件安装在本地。(至少是我添加的内容)。

在此处找到示例:https://github.com/titouanfreville/Docker/tree/master/ready_to_go_lamp。

它将避免每次都要构建,并且可以从确定的图像中提供它。

为了更好,最好添加用户支持,以便您是已挂载文件的所有者(如果您不是root用户)。

希望对您有用。



 类似资料:
  • 问题内容: 在Docker容器中挂载主机目录非常容易。 但是我需要另一种方式。 我使用Docker容器作为开发环境来开发WordPress插件。该Docker容器包含运行WordPress所需的一切(MySQL,Apache,PHP和WordPress)。我从Docker容器中的主机挂载了我的插件src文件夹,以便可以在开发期间测试我的插件。 对于调试,如果我在主机上运行的IDE具有对Docker

  • 假设我有一个应用程序具有这个简单的DockerFile: 然后我运行了一个容器: 所以它工作正常,并将一些日志存储在docker容器的中。 我也看到docker-mount目录从容器到主机,但它并没有解决我的问题我需要一种方法备份我的文件从Docker到主机。

  • 我想挂载我的usb驱动器到一个正在运行的docker实例,手动备份一些文件。 我知道的特性,但这会创建一个新的容器。注意:它是一个nextcloudpi容器。

  • 问题内容: 我使用以下参数安装了容器: -v / home / test /:/ home / test 在主机的/ home / test内部,有一个指向/ mnt /文件夹的符号链接。 但是该链接尽管可以看到指向的位置,但在容器内部似乎已损坏: 甚至有可能在Docker中完成吗?我不确定是否有办法做到这一点。 我知道我可以直接安装符号链接所指向的位置,但是我只是想知道这是否是可能的。 问题答案

  • 问题内容: 我对Docker中的整个数据量过程有疑问。基本上,这里有两个Dockerfile及其各自的运行命令: Dockerfile 1- 命令1- Dockerfile 2- 命令2- 因此,奇怪的是第一个dockerfile和命令按预期工作。docker守护程序将目录从容器装载到主机的位置。因此,我可以根据需要编辑配置文件,它们将在重新启动后保留在容器中。 但是,对于第二个dockerfil

  • 问题内容: 我有一个正在进行dockerizing的开发环境,并且我希望能够实时重新加载所做的更改而不必重建docker映像。我使用docker compose是因为redis是我应用程序的依赖项之一,我喜欢能够链接redis容器 我在我的中定义了两个容器: 我已经到了我应用程序的dockerfile中添加卷的地步,但是如何将主机的目录挂载到卷中,以便对代码的所有实时编辑都可以反映在容器中? 这是