我在本地机器上为postgres创建了一个docker卷.
docker create volume postgres-data
Run Code Online (Sandbox Code Playgroud)
然后我使用了这个卷并运行了一个docker.
docker run -it -v postgres-data:/var/lib/postgresql/9.6/main postgres
Run Code Online (Sandbox Code Playgroud)
之后我做了一些数据库操作,这些操作自动存储在postgres数据中.现在我想将该卷从本地计算机复制到另一台远程计算机.怎么做同样的.
注 - 数据库大小非常大
如果第二台计算机启用了SSH,则可以在第一台计算机上使用Alpine容器映射卷,将其捆绑并将其发送到第二台计算机.
这看起来像这样:
docker run --rm -v <SOURCE_DATA_VOLUME_NAME>:/from alpine ash -c \
"cd /from ; tar -cf - . " | \
ssh <TARGET_HOST> \
'docker run --rm -i -v <TARGET_DATA_VOLUME_NAME>:/to alpine ash -c "cd /to ; tar -xpvf - "'
Run Code Online (Sandbox Code Playgroud)
你需要改变:
或者,您可以尝试使用此帮助程序脚本https://github.com/gdiepen/docker-convenience-scripts
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
2241 次 |
| 最近记录: |