我使用docker postgres:9.4图像.我需要知道如何备份和恢复仅容量的容器.
创建的卷容器:
docker run -v /var/lib/postgresql/data --name dbdata postgres:9.4 /bin/true
Run Code Online (Sandbox Code Playgroud)
使用音量
docker run --name=postgres --volumes-from=dbdata -d -p 6432:5432 postgres:9.4
Run Code Online (Sandbox Code Playgroud)
备份卷容器
docker run --volumes-from dbdata -v $(pwd):/backup postgres:9.4 tar cvf /backup/backup.tar /var/lib/postgresql/data
Run Code Online (Sandbox Code Playgroud)
恢复新容器中的卷
docker run --name=dbdata-new --volumes-from dbdata -v $(pwd):/backup ubuntu:14.04 /bin/sh -c 'cd /var/lib/postgresql/data && tar xvf /backup/backup.tar'
Run Code Online (Sandbox Code Playgroud)
在新卷中使用以创建新的postgres容器:
docker run --name=postgres-new --volumes-from=dbdata-new -d -p 7532:5432 postgres:9.4
Run Code Online (Sandbox Code Playgroud)
问题: 运行新容器时,我在日志中收到以下错误.
initdb:目录"/ var/lib/postgresql/data"存在但不为空如果要创建新的数据库系统,请删除或清空目录"/ var/lib/postgresql/data"或使用参数运行initdb除了"/ var/lib/postgresql/data"之外
不确定我做错了什么.有人可以指出我犯错误的地方.
data-new --volumes-from dbdata -v $(pwd):/backup ubuntu:14.04 /bin/sh -c ' cd /var/lib/postgresql/data && tar xvf /backup/backup.tar '
粗体文本就是问题所在。通过解压文件夹 /var/lib/postgresql/data 中的备份,tar 命令在上述文件夹内创建 /var/lib/postgresql/data 。
感谢您对MyKola 的所有帮助。
| 归档时间: |
|
| 查看次数: |
3386 次 |
| 最近记录: |