我正在使用Windows 10在Docker上运行Influxdb和grafana。
每当我关闭Docker时,我都会丢失数据库。
以下是我所知道的:
这是我的yml文件。非常感谢任何帮助。
version: '3'
services:
# Define an InfluxDB service
influxdb:
image: influxdb
volumes:
- ./data/influxdb:/var/lib/influxdb
ports:
- "8086:8086"
- "80:80"
- "8083:8083"
grafana:
image: grafana/grafana
volumes:
- ./data/grafana:/var/lib/grafana
container_name: grafana
ports:
- "3000:3000"
env_file:
- 'env.grafana'
links:
- influxdb
# Define a service for using the influx CLI tool.
# docker-compose run influxdb-cli
influxdb-cli:
image: influxdb
entrypoint:
- influx
- -host
- influxdb
links:
- influxdb
答案 0 :(得分:7)
如果您使用的是docker-compose down/up
,请注意,这不是"重启"这是因为:
docker-compose up
创建新的容器和docker-compose down
将其删除:docker-compose up
构建,(重新)创建,启动和附加服务的容器。
docker-compose down
停止容器并删除由up创建的容器,网络,卷和图像。
另一方面,如果你继续使用:
docker-compose start
docker-compose stop
docker-compose restart
您处理相同的容器,即运行docker-compose up
时创建的容器。
答案 1 :(得分:0)
我认为问题与已安装的卷而非docker或Influxdb有关。您应该首先找到Influxdb存储数据的位置(默认情况下它位于您的主文件夹" ~user / .inluxdb"在Windows中),然后生成Influxdb.conf文件,最后安装卷。
答案 2 :(得分:0)
这似乎对我有用,但是以防万一其他人正在阅读与我相同的问题,与我的Docker Wordpresscompose站点的连接丢失了。 似乎需要重新启动。
我使用了@tgogos的建议,并输入了docker根文件夹中的shell终端:
docker-compose restart
但是在执行此操作之前,我编辑了yml文件docker-compose.yml,其中还包括:
restart: always
的建议
答案 3 :(得分:0)
docker-compose down
除非指定,否则上述命令不应删除卷。
https://docs.docker.com/compose/reference/down/
我尝试了以下 docker-compose.yaml 文件,即使使用 down 或 rm docker 命令也能保留数据。
version: '3'
services:
influxdb:
image: influxdb:2.0
ports:
- 8086:8086
volumes:
- influxdb-data:/var/lib/influxdb2
restart: always
volumes:
influxdb-data:
external: true