仓库 数据卷迁移
我用的是daocloud的加速器 免费注册的
docker login daocloud.io
账号:密码 登录即可
docker search mysql
可以搜索库内关于 mysql的镜像
docker pull mysql
将远端库内的mysql镜像加载到本地的库中 默认的tag 是latest
docker tag test/ubuntu:v1.0 ubuntu:12.08
更改本地镜像库的的tag和repository test/ubuntu:v1.0(要更改的目标) ubuntu:12.08(更改后的结果)他们共享一个ID

创建私有仓库没懂,回头再看
数据管理 在使用docker的过程中,需要查看容器内的英语产生的数据,或者需要备份数据,再或者多个容器的数据共享。这必然涉及书籍管理
数据卷 是一个可供容器使用的特殊目录,特点
多个容器可以共享,数据卷的修改可以立马生效,数据卷更新不影响容器,卷会一直存在直到没有容器再使用
创建一个数据卷
如下为容器添加一个数据卷,并将容器名改为data。这个数据卷在容器里的目录是/opt/data
[root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/ubuntu latest 0ef2e08ed3fa 2 weeks ago 130 MB[root@localhost ~]# docker run --name data -v /opt/data -t -i docker.io/ubuntu /bin/bash root@2b9aebcf6ce8:/# cd /opt/data/ root@2b9aebcf6ce8:/opt/data# ls root@2b9aebcf6ce8:/opt/data# echo "123" > 123 root@2b9aebcf6ce8:/opt/data# echo "123123" > 123123 root@2b9aebcf6ce8:/opt/data# ls 123 123123[root@localhost volumes]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2b9aebcf6ce8 docker.io/ubuntu "/bin/bash" 49 seconds ago Up 48 seconds data在宿主机上,查看对应上面的那个数据卷的目录路径:[root@localhost ~]# docker inspect data|grep /var/lib/docker/volumes "Source": "/var/lib/docker/volumes/89d6562b9c1fe10dd21707cb697a5d481b3c1b000a69b762f540fa826a16972a/_data",[root@localhost ~]# ls /var/lib/docker/volumes/89d6562b9c1fe10dd21707cb697a5d481b3c1b000a69b762f540fa826a16972a/_data 123 123123[root@localhost ~]# echo "asdhfjashdfjk" >> /var/lib/docker/volumes/89d6562b9c1fe10dd21707cb697a5d481b3c1b000a69b762f540fa826a16972a/_data/123[root@localhost ~]#root@2b9aebcf6ce8:/opt/data# ls 123 123123root@2b9aebcf6ce8:/opt/data# cat 123 123asdhfjashdfj创建一个数据卷容器dbdata
docker run -it -v /dbdata --name dbdata ubuntu
这条命令的意思是将数据卷挂载到 ubuntu容器内的/dbdata目录下
docker run -it --volumes-from dbdata --name db1 ubuntu
docker run -it --volumes-from dbdata --name db2 ubuntu
将dbdata数据卷共享于三个容器 一个内容改变其他的也将改变 ,数据同步
数据备份
docker run --rm --volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/dbdata.tar /dbdata
启动一个新的容器并且从dbdata容器中挂载卷,然后挂载当前目录到容器中为backup,并备份dbdata卷中所有的数据为dbdata.tar,执行完成之后删除容器--rm,此时备份就在当前的目录下,名为dbdata.tar。注意:后面的/test是数据卷的目录路径(即数据卷创建时在容器里的路径)为了利用数据卷容器备份,使用--volumes-from标记来创建一个加载wang容器卷的容器,并从主机挂载当前目录到容器的/backup目录。并备份wang卷中的数据,执行完成之后删除容器--rm,此时备份就在当前的目录下了。先创建一个容器,并挂载要备份的容器数据卷,再挂载数据卷(pwd):/backup目录到容器/bakcup,在容器中执行备份/data目录到/backup,也就是备份到宿主机$(pwd):/backup目录。
浙公网安备 33010602011771号