【5】Managing Data in Containers

//添加一个数据卷

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

//在容器中创建一个新数据卷/webapp

//挂载主机的文件夹

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

//将主机的/src/webapp挂载到容器的/opt/webapp(存在则替换)

//只读挂载

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


//挂载主机的文件

$ docker run --rm -it -v ~/.bash_history:/.bash_history ubuntu /bin/bash


// 创建并挂载一个容器的数据卷

//创建一个新容器

$ docker create -v /dbdata --name dbdata training/postgres
//用--volumes-from标识来挂载/dbdata卷到db1容器
$ docker run -d --volumes-from dbdata --name db1 training/postgres
//到db2容器
$ docker run -d --volumes-from dbdata --name db2 training/postgres
//也可以通过挂载db1访问/dbdata
$ docker run -d --name db3 --volumes-from db1 training/postgres


//备份,还原和迁移数据卷
$ docker run --volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata
Here we've launched a new container and mounted the volume from the dbdata 
container. We've then mounted a local host directory as /backup. Finally,
we've passed a command that uses tar to backup the contents of the dbdata
volume to a backup.tar file inside our /backup directory. When the command
completes and the container stops we'll be left with a backup of our dbdata
volume.
//还原
$ docker run -v /dbdata --name dbdata2 ubuntu /bin/bash
//解包
$ docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar






你可能感兴趣的:(【5】Managing Data in Containers)