• docker 容器数据管理



    给容器添加一个数据卷

    sudo docker run -d -P --name web -v /webapp training/webapp python app.py

    可以在Dockerfile中使用VOLUME指令来给创建的镜像添加一个或多个卷


    挂载一个主机目录到容器中

    sudo docker run -d -P --name web -v /src/webapp:/opt/webapp training/webapp python app.py

    不能在Dockerfile中指定


    创建容器间的数据共享卷

    sudo docker run -d -v /dbdata --name dbdata training/postgres
    sudo docker run -d --volumes-from dbdata --name db1 training/postgres
    sudo docker run -d --name db3 --volumes-from db1 training/postgres

    该卷将不会被删除直到没有容器使用该卷,但是允许你升级或者把有效的数据卷在容器之间迁移

    如果你有一些持续更新的数据需要在容器之间共享,最好创建数据卷容器

    数据卷容器,其实就是一个正常的容器,专门用来提供数据卷供其它容器挂载的,就像dbdata


    备份

    sudo docker run --volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata

    启动了一个新容器并且挂载dbdata卷,挂载了一个本地目录作为/backup卷。最后,通过使用tar命令备份dbdata卷的内容到我们的/backup目录下的backup.tar文件中,当命令完成或者容器停止,我们会留下dbdata卷的备份

    恢复

    sudo docker run -v /dbdata --name dbdata2 ubuntu /bin/bash

    迁移

    sudo docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar

    欲为大树,何与草争;心若不动,风又奈何。
  • 相关阅读:
    Java删除文件夹下所有文件
    Java写入文件的几种方法小结
    字符串String数据类型的探讨
    Java把数字格式化为货币字符串
    java.utilDate和java.sql.Date
    Java最小二乘法线性回归函数编码实现
    寄存器
    GCC
    linux zip
    缓存
  • 原文地址:https://www.cnblogs.com/admln/p/docker-container-data-manage.html
Copyright © 2020-2023  润新知