本人,精通 java、html、CSS、 JavaScript、 PHP、 C、 C++、 C#、 Ruby、 Perl、 python、 Objective-C、 ActionScript等单词的拼擅长Ai、Fw、Fl、Ae、Pr、Id、PS等软件的安装与卸载,熟悉windows、Linux、Mac、Android、IOS等系统的开关机

码上生活

容器数据卷使用

容器之间的数据共享技术,将容器中产生的数据同步到本地,也就是将容器中存放数据的目录挂载到主机中。

创建容器并使用卷:docker run  -v  主机目录:容器目录   容器ID  /bin/bash

查看本地主机目录是否存在,如果存在说明差不多成功了

进入容器需要同步的目录创建一个文件返回进入到主机挂载的目录查看是否已经同步

将容器停止运行:docker stop 容器ID

进入到主机挂载的目录修改文件内容

再次启动容器。进入到容器目录查看是否同步。

卷技术的好处:修改本地文件即可,容器就会自动同步!!!!!!!

即使把容器删除,数据依然还是在的

具名挂载和匿名挂载

匿名挂载:

docker  run -d   -P  -v    /容器挂载的目录   镜像ID   /bin/bash
查看所有 volume的情况: docker volume ls

匿名挂载只有容器目录,没有容器外主机目录

具名挂载:

docker  run  -d   -P  -v  卷名:/容器内路径  镜像ID  /bin/bash

docker volume   inspect   卷名:查看详细信息

所有docker卷没有指定文件的情况下都是在/var/lib/docker/volume/xxx/_date

为了方便找到这个卷大多数使用具名挂载。

-v  /容器内目录                      :匿名挂载

-v  卷名:/容器内目录             :具名挂载

-v 容器外目录:容器内目录    :指定路径挂载

拓展:

-v 容器内部路径:ro\rw修改权限

看到ro就只能在宿主机上操做,不能在容器内操作,默认是rw

多个mysql实现数据同步:

docker run -d -P -v /etc/mysql -e MYSQL_ROOT_PASSWORD=123321 –name my01 mysql:5.7

docker run -d -P –volumes-from my01 -e MYSQL_ROOT_PASSWORD=123321 –name my02 mysql:5.7