gpt4 book ai didi

docker - Docker,是否可以将主机数据复制到Docker卷?

转载 作者:行者123 更新时间:2023-12-03 02:33:03 25 4
gpt4 key购买 nike

目前,我正在使用主机目录作为 Elasticsearch 数据的安装点(?)(/ var / lib / elasticsearch:/ usr / share / elasticsearch / data)

 version: '3'

services:
elasticsearch:
build:
context: .
dockerfile: ./compose/elasticsearch/Dockerfile
args:
- VERSION=${VERSION}
- ELASTICSEARCH_PORT=${ELASTICSEARCH_PORT}
- MEM=${MEM}
- CLUSTER_NAME=${CLUSTER_NAME}
- ENV=${ENV}
container_name: elasticsearch
network_mode: host
environment:
- discovery.type=single-node
volumes:
- /var/lib/elasticsearch:/usr/share/elasticsearch/data

我想按以下方式使用docker的卷。

是否可以将 /var/lib/elasticsearch中的数据移动到 data:中?
 services:
elasticsearch:
build:
context: .
dockerfile: ./compose/elasticsearch/Dockerfile
args:
- VERSION=${VERSION}
- ELASTICSEARCH_PORT=${ELASTICSEARCH_PORT}
- MEM=${MEM}
- CLUSTER_NAME=${CLUSTER_NAME}
- ENV=${ENV}
container_name: elasticsearch
network_mode: host
environment:
- discovery.type=single-node
volumes:
- data:/usr/share/elasticsearch/data

volumes:
data:

最佳答案

一旦创建了安装docker cp卷的新容器,就可以使用data命令从主机复制文件。
docker cp /var/lib/elasticsearch/. elasticsearch:/usr/share/elasticsearch/data/
您也可以在启动Elasticsearch容器之前创建一个虚拟容器,以防在启动Elasticsearch容器之前要存在数据。如果您使用docker-compose通过在项目名称前添加docker-compose为卷命名空间来启动elasticsearch,则此方法将不起作用。

docker container create --name dummy -v data:/root hello-world
docker cp /var/lib/elasticsearch/. dummy:/root/`
docker rm dummy

关于docker - Docker,是否可以将主机数据复制到Docker卷?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59531311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com