Docker将网络添加到容器时突然删除卷

问题描述 投票:0回答:1

我在群集网络中有数据库容器。它有自己的节点,并且没有变化。

当我为数据库容器添加或删除某些网络时,开始了意外的行为:

例如,我添加了traefik网络:

my_db:
  volumes:
    db1:/var/lib/postgresql
  networks:
    - my_project
    - traefik # added

然后我运行docker swarm deploy,并且我的数据库为空:(

相同的行为是当我删除此网络时。两个网络都覆盖。我也在另一群(只有一个节点)和另一个项目上进行了测试-行为是相同的-删除了数据库。

我检查了一个节点,该节点具有唯一一个在全球范围内部署的唯一数据库和Portainer:

docker ps
CONTAINER ID        IMAGE                    
16a78f8b609d        postgres:11.3 
b71166ae4601        portainer/agent:latest 

docker volume ls
DRIVER              VOLUME NAME
local               4c3bd578714937e3a5f97e9c5a659a36ad7b9fd0921f57a303f33189275bc997
local               0252ae24cb58f0bd3fec93660f2d09d339d7d579b6d0f9fee5b49e7def9b288b
local               413363adb68602ef02928462e33c53d083a1c507af32c6312632bac68b23cd0a
local               c6b042815270a5d37aa710923f69aae9e4ace7c0a0e3a402d0ed3f267acc1923
local               cf803014263516e023a208537658c4e7d79d61b5e42fb84d696dfa64fda65c78
local               my-project_db1

[似乎旧数据在具有散列卷名称的第一卷中,并且在添加/删除网络时重新创建了my-project_db1

我也尝试在volumes部分中使用名称-相同。

docker networking volume swarm
1个回答
0
投票

问题已通过使用来自How to persist data in a dockerized postgres database using volumes的答案解决了>

db1:/var/lib/postgresql/data中添加数据解决了此问题

© www.soinside.com 2019 - 2024. All rights reserved.