一尘不染

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

docker

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

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

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

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


阅读 345

收藏
2020-06-17

共1个答案

一尘不染

方法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之前,请创建文件夹路径。

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

2020-06-17