在Docker中恢复Postgress的数据后,Docker合成下来

gblwokeq  于 2023-01-20  发布在  Docker
关注(0)|答案(1)|浏览(121)

我有一个问题。首先我需要在我的项目上安装Redis,所以我去了文件docker-compose.xml,在文件中做了一些改动,之后我使用命令docker-composedown和docker-composeup。结果我在我的数据库postgres中看不到数据((我在docker中找了所有的卷,其中一个的日期是3天前,我可以拿走这个卷吗,我想它可以为我恢复一些数据,但我不知道如何做到这一点。

vadym@vadym-K56CM:~$ docker volume ls
DRIVER    VOLUME NAME
local     7fd43398fb9942381adf3a866c9408ee3cbe24e5d33ed4e4374bfcea77405ed7
local     7fe3a58893af638ca2a7ac8389cc8794cd1ab56a807ce4b8ee47ed67b8d67b90
local     562d3c85b32450f0f8bfc73420438a72f7b6651317f7efa43cd38e6d9a7de887
local     e698eb5804793b624159ae4e2eef01e15b43bd937e139aa586b0ec35b209c376
local     linkup_redis
local     vscode

我需要还原名为562 d3 c85 b32450 f0 f8 bfc 73420438 a72 f7 b6651317 f7 efa 43 cd 38 e6 d9 a7 de 887的卷。
我的集装箱

vadym@vadym-K56CM:~$ docker ps
CONTAINER ID   IMAGE            COMMAND                  CREATED       STATUS       PORTS                         NAMES
01f8d5219a62   redis            "docker-entrypoint.s…"   3 hours ago   Up 3 hours   0.0.0.0:6379->6379/tcp        redis
22eb79cb829e   dpage/pgadmin4   "/entrypoint.sh"         3 hours ago   Up 3 hours   0.0.0.0:80->80/tcp, 443/tcp   postgres_gui
4e98b4c62cc4   postgres:14.4    "docker-entrypoint.s…"   3 hours ago   Up 3 hours   0.0.0.0:5432->5432/tcp        postgres_container

谢谢!

eoigrqb6

eoigrqb61#

您应该能够将该卷挂载到一个新的容器中,然后从其中复制数据。例如,下面是如何创建一个简单的容器,将指定的卷挂载为只读(请参见末尾的:ro),并将数据从该卷复制到目录backup中:

docker run -it -v <volumeID>:/mnt/myvolume:ro --name mycontainer alpine

docker cp mycontainer:/mnt/myvolume .\backup\

相关问题