我相信有一种简单的方法可以将文件复制到已经安装到容器的Docker卷中。
docker cp /tmp/my_data/. my_container:/my_data如如何将多个文件复制到Docker数据卷中所述
docker cp /tmp/my_data/. my_container:/my_data
但是,如何使用docker volume create --name my- volume已包含文件的命名卷来创建该卷?我已经读过,将cp文件放入并不是一个好主意{{.Mountpoint}}。
docker volume create --name my- volume
{{.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之前,请创建文件夹路径。
优良作法是更改文件以保持持久性。