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

如何创建Docker卷设备/主机路径

郏景澄
2023-03-14
问题内容

我相信有一种简单的方法可以将文件复制到已经安装到容器的Docker卷中。

docker cp /tmp/my_data/. my_container:/my_data如如何将多个文件复制到Docker数据卷中所述

但是,如何使用docker volume create --name my- volume已包含文件的命名卷来创建该卷?我已经读过,将cp文件放入并不是一个好主意{{.Mountpoint}}

我是Docker的新手,并且所有这些都是nuancies,因此,如果我对卷的基本理解不正确,请道歉。


问题答案:

方法1-复制

要将文件从主机复制到容器

docker cp /path/of/the/file <Container_ID>:/path/of/he/container/folder

上面方法的问题是,它不会保留卷,文件或目录,因为删除容器后它将丢失。建议仅针对临时目的。

方法2-批量安装

将卷从主机转移到容器

步骤1:使用自定义路径创建卷

docker volume create --name my_test_volume --opt type=none --opt device=/home/jinna/Jinna_Balu/Test_volume --opt o=bind

步骤2:安装到容器或群集服务

docker run -d \
  --name devtest \
  --mount source=my_test_volume,target=/app \
  nginx:1.11.8-alpine

我们可以使用.yaml文件执行上述两个步骤

version: '3'
services:
  nginx:
    image: nginx:1.11.8-alpine
    ports:
      - "8081:80"
    volumes:
      - my_test_volume:/usr/share/app
volumes:
  my_test_volume:
    driver: local
    driver_opts:
       o: bind
       type: none
       device: /home/jinna/Jinna_Balu/Test_volume

使用docker-compose运行上述yml

docker-compose up -d

注意:在执行docker-compose之前,请创建文件夹路径。

优良作法是更改文件以保持持久性。



 类似资料:
  • 问题内容: 在Windows主机下安装Docker卷对我来说是一个巨大的痛苦,而且我无法使其正常工作。 目前,我得到了以下简单的Dockerfile: 当我从中构建图像并启动容器时 容器正常启动。 但是当我尝试装载一个卷时, 将显示以下消息: 该目录肯定存在于容器中,尝试其他目录不会更改结果。在主机端目录前添加斜杠也无济于事。() 例如,如何安装到? 事实证明,容器端目录必须为空,因为它有一个子目

  • 我正在使用各种各样的码头集装箱,这些集装箱的封底是在Debian sid上建造的。这些图像缺少和,这很有意义,因为它们没有硬件声卡。 我用来生成MIDI文件的几个软件需要这些音序器设备。它们不一定用于发送音频,但是如果声音设备不存在,代码本身就会在init中消失。明确地说,我不需要在docker中生成音频信号,我只需要这些存在来让其他软件开心。 到目前为止,我一直在尝试不停地安装各种alsa包(<

  • 我在用“docker外面的docker”和jenkins运行一个容器。我的docker是: 所以所有从“jenkins容器”启动的容器都在主机中运行。 但是,当我试图在需要卷的作业中运行“jenkins容器”中的docker compose时,它采用的是来自主机的路径,而不是jenkins的路径。我是说,当我和docker合作时 它安装在主机的/var/jenkins_home/workspace

  • 问题内容: 我已经能够成功使用以下卷在Docker容器之间共享文件夹 但是我的问题是,这与在Dockerfile中使用命令之间有什么区别 我正在使用带有命令的图像,并且想知道如何与主机共享它。我已经使用上面的命令完成了此操作,但我不知道是否同时需要和和。 问题答案: 该命令将在您的容器中安装一个目录,并将在该目录中创建或编辑的所有文件存储 在容器文件结构外部的 主机磁盘上,绕过联合文件系统。 这个

  • 问题内容: 我刚刚检查了/ var / lib / docker / volumes文件夹,发现该文件夹正以名为Docker UUID的文件夹爆炸,每个文件夹都包含一个config.json文件,其内容与 哪里 是指向主机上的文件夹的路径,该主机已通过-v开关挂载到Docker容器上。我有这样的文件夹可以追溯到我对Docker进行实验的开始,即大约3周前。 有问题的容器很久以前就已停止并且dock