docker内部数据管理和docker之间的数据共享为数据卷和数据卷容器,实例解析1.将本地的文件作为容器的数据卷,2.数据卷flocker插件实现容器集群(或者docker swarm)的数据共享3.数据卷容器作为其他容器的数据卷.降低磁盘开销.4.数据的备份,恢复和迁移.5.docker hub的常用操作.
data volumes是一个或者多个容器特别指定的目录,它区别于联合文件系统的(union file system,或称unionfs,通过底层的操作的文件系统,具有轻量级和快速的特性,docker 容器也是使用联合文件系统去创建数据块的.),并且,对容器的数据管理以及容器之间数据共享提供了以下几点:
- 当容器被创建的同时,数据卷已经被初始化了.当镜像数据在制定的挂载点上时,存在的数据会复制到新的卷上.(但是,如果挂载的是主机路径不适用)
- 容器之间的数据卷可以重用和共享.
- 可以直接更改数据卷
- 镜像更新不会更改数据卷.
- 容器被删除,数据卷不受影响.
在<code>docker create</code>和<code>docker run</code>命令中,使用<code>-v</code> 为容器增加一个数据卷.
实例解析Docker数据卷+数据卷容器+flocker数据共享+DockerHub操作1.0.数据卷(Data volumes)2.flocker插件实现容器集群的数据管理,共享和迁移等.(如果未配置Docker Swarm,建议跳过本步骤)2.1.安装Docker容器卷驱动flocker3.创建一个新的数据卷容器,作为其他应用层容器的数据卷4.0.备份,恢复,迁移数据卷5.Docker Hub常见操作 可见.把<code>training/webapp</code>命名为<code>myweb</code>,并且通过<code>-v</code>创建了数据卷 /webapp
tip,在<code>dockerfile</code>创建新的容器时,可以通过-v来创建更多的数据卷.
实例解析Docker数据卷+数据卷容器+flocker数据共享+DockerHub操作1.0.数据卷(Data volumes)2.flocker插件实现容器集群的数据管理,共享和迁移等.(如果未配置Docker Swarm,建议跳过本步骤)2.1.安装Docker容器卷驱动flocker3.创建一个新的数据卷容器,作为其他应用层容器的数据卷4.0.备份,恢复,迁移数据卷5.Docker Hub常见操作 其中,mount信息,包含了刚刚创建的数据卷详细信息.<code>source</code>指定了本机路径,而<code>destination</code>则指定容器内部路径.
将本机的路径如/src/webapp作为volumeweb的数据卷.这样做的好处是,如果本地有代码可很方便在本地修改,在容器里查看修改后的效果.
实例解析Docker数据卷+数据卷容器+flocker数据共享+DockerHub操作1.0.数据卷(Data volumes)2.flocker插件实现容器集群的数据管理,共享和迁移等.(如果未配置Docker Swarm,建议跳过本步骤)2.1.安装Docker容器卷驱动flocker3.创建一个新的数据卷容器,作为其他应用层容器的数据卷4.0.备份,恢复,迁移数据卷5.Docker Hub常见操作 仅仅在/src/webapp:/opt/webapp:ro 增加了ro,指明只读模式.
使用<code>-v</code>标志可以挂载单一文件,如将主机的bash_history文件内容,添加至新创建的容器中,此时新创建的容器的bash_history中的记录删除而存上主机bash_history的内容.
实例解析Docker数据卷+数据卷容器+flocker数据共享+DockerHub操作1.0.数据卷(Data volumes)2.flocker插件实现容器集群的数据管理,共享和迁移等.(如果未配置Docker Swarm,建议跳过本步骤)2.1.安装Docker容器卷驱动flocker3.创建一个新的数据卷容器,作为其他应用层容器的数据卷4.0.备份,恢复,迁移数据卷5.Docker Hub常见操作 挂载一个共享数据作为docker容器的数据卷
容器除了可以在本机上的路径作为数据卷外,还可以通过docker volume plugins来允许一些共享数据作为数据卷,如iscsi,nfs或者fc.这样做的好处是,共享的数据卷的位置不受容器的影响,而且只要某个容器拥有volume plugins并且能够访问,就可以将共享数据卷作为该容器的数据卷.
数据卷的一个插件,用来管理共享数据,支持容器之间(容器集群)的共享数据进行迁移,打包.
注意:a.最后一步下载flocker插件时,可能因为网速而下载时间很长,建议下载的flocker时跳过.docker 数据卷flocker插件实现容器集群的数据管理,共享和迁移等.步骤,不影响后续操作.b.本过程需要flocker正确安装,dcoker集群环境,如果提示没有flocker插件错误,可以跳过本步骤,docker swarm不是本次解析重点.
实例解析Docker数据卷+数据卷容器+flocker数据共享+DockerHub操作1.0.数据卷(Data volumes)2.flocker插件实现容器集群的数据管理,共享和迁移等.(如果未配置Docker Swarm,建议跳过本步骤)2.1.安装Docker容器卷驱动flocker3.创建一个新的数据卷容器,作为其他应用层容器的数据卷4.0.备份,恢复,迁移数据卷5.Docker Hub常见操作 安装flocker node services(略过,过程繁琐,不再赘述,可以去clusterhq官方文档查看.)
本过程需要flocker正确安装,dcoker集群环境,如果提示没有flocker插件错误,可以跳过本步骤,docker swarm不是本次解析重点.
创建新的数据卷的容器目的是,方便一些持久性(存储)的数据在容器和容器之间共享.
使用postgres镜像创建一个数据卷容器,该容器没有应用运行,所以,其他容器的可以作为应用层,而存储的数据放在数据卷容器中,这样可以节省磁盘空间.
实例解析Docker数据卷+数据卷容器+flocker数据共享+DockerHub操作1.0.数据卷(Data volumes)2.flocker插件实现容器集群的数据管理,共享和迁移等.(如果未配置Docker Swarm,建议跳过本步骤)2.1.安装Docker容器卷驱动flocker3.创建一个新的数据卷容器,作为其他应用层容器的数据卷4.0.备份,恢复,迁移数据卷5.Docker Hub常见操作 docker容器的数据卷备份,恢复,迁移一般是通过<code>--volumes-from</code>标志实现的.
实例解析Docker数据卷+数据卷容器+flocker数据共享+DockerHub操作1.0.数据卷(Data volumes)2.flocker插件实现容器集群的数据管理,共享和迁移等.(如果未配置Docker Swarm,建议跳过本步骤)2.1.安装Docker容器卷驱动flocker3.创建一个新的数据卷容器,作为其他应用层容器的数据卷4.0.备份,恢复,迁移数据卷5.Docker Hub常见操作 实例解析Docker数据卷+数据卷容器+flocker数据共享+DockerHub操作1.0.数据卷(Data volumes)2.flocker插件实现容器集群的数据管理,共享和迁移等.(如果未配置Docker Swarm,建议跳过本步骤)2.1.安装Docker容器卷驱动flocker3.创建一个新的数据卷容器,作为其他应用层容器的数据卷4.0.备份,恢复,迁移数据卷5.Docker Hub常见操作 docker hub是docker官方提供的容器管理工程,类似与github,不同在于在docker hub中搜索存放的不是源码而是容器.
docker hub可以存放我们创建的容器,如果是公开的则大家都以拿来用,也支持不公开.
实例解析Docker数据卷+数据卷容器+flocker数据共享+DockerHub操作1.0.数据卷(Data volumes)2.flocker插件实现容器集群的数据管理,共享和迁移等.(如果未配置Docker Swarm,建议跳过本步骤)2.1.安装Docker容器卷驱动flocker3.创建一个新的数据卷容器,作为其他应用层容器的数据卷4.0.备份,恢复,迁移数据卷5.Docker Hub常见操作 登陆信息存放在了<code>$home/.docker/config.json</code>下.
实例解析Docker数据卷+数据卷容器+flocker数据共享+DockerHub操作1.0.数据卷(Data volumes)2.flocker插件实现容器集群的数据管理,共享和迁移等.(如果未配置Docker Swarm,建议跳过本步骤)2.1.安装Docker容器卷驱动flocker3.创建一个新的数据卷容器,作为其他应用层容器的数据卷4.0.备份,恢复,迁移数据卷5.Docker Hub常见操作 使用<code>docker push yourname/newimage</code>来push自己的容器到hub上.
实例解析Docker数据卷+数据卷容器+flocker数据共享+DockerHub操作1.0.数据卷(Data volumes)2.flocker插件实现容器集群的数据管理,共享和迁移等.(如果未配置Docker Swarm,建议跳过本步骤)2.1.安装Docker容器卷驱动flocker3.创建一个新的数据卷容器,作为其他应用层容器的数据卷4.0.备份,恢复,迁移数据卷5.Docker Hub常见操作