展厅网站,门户类网站备案,wordpress安装地图代码,网站开发背景图片数据卷
1.数据卷概述
数据卷#xff1a;容器与宿主机之间数据共享。
数据卷是一个供容器使用的特殊目录#xff0c;位于容器中。 可将宿主机的目录挂载到数据卷上#xff0c;对数据卷的修改操作立刻可见#xff0c;并且更新数据不会影响镜像#xff0c;从而实现数据在宿…数据卷
1.数据卷概述
数据卷容器与宿主机之间数据共享。
数据卷是一个供容器使用的特殊目录位于容器中。 可将宿主机的目录挂载到数据卷上对数据卷的修改操作立刻可见并且更新数据不会影响镜像从而实现数据在宿主机与容器之间的迁移。 数据卷的使用类似于Linux下对目录进行的mount操作。
想要将容器中的数据持久化可以将宿主机目录挂载到容器中。 一般只建议在创建容器时进行挂载不建议启动容器后再挂载。 因为启动容器后再挂载的话需要修改配置文件且不一定能挂载成功。
2.实操
docker run -v 数据卷
#在容器内创建数据卷docker run -v 宿主机目录:数据卷
#将宿主机目录挂载到容器中#注意宿主机本地目录的路径必须是使用绝对路径。如果路径不存在Docker会自动创建相应的路径。
#挂载后的目录默认可读可写例docker run -itd --name test1 -v /opt/test1:/opt/test1 centos:7 /bin/bash
#创建一个容器卷和宿主机的的目录挂载目录自带读写权限。 docker run -v 宿主机目录:数据卷:ro
#将宿主机目录挂载到容器中只可读例docker run -itd --name test2 -v /opt/test2:/opt/test2:ro centos:7 /bin/bash 数据卷容器
1.数据卷容器概述
数据卷容器容器与容器之间数据共享
数据卷容器是一个普通的容器专门提供数据卷给其他容器挂载使用。
2.实操
docker run -itd --name test1 -v /opt/data1 -v /opt/data2 centos:7 /bin/bash
#创建数据卷容器test1以及/opt/data1和/opt/data2两个数据卷docker run -itd --volumes-from test1 --name test2 centos:7 /bin/bash
#创建容器使用挂载卷 容器互联
1.容器互联概述
容器互联是通过容器的名称在容器间建立一条专门的网络通信隧道。 简单点说就是会在源容器和接收容器之问建立一条隧道接收容器可以看到源容器指定的信息。
2.实操
//老版本
docker run -itd -P --name test1 centos:7 /bin/bash
#创建并运行源容器test1-P随机指定一个端口和宿主机映射 docker run -itd -P --name test2 --link test1:test2 centos:7 /bin/bash
#创建并运行接收容器test2--link和源容器test1实现容器互联docker exec -it test2 bash
ping test1docker exec -it test1 bash
yum install -y net-tools #下载网络工具
ifconfig #查看IP和test2中显示的一致 //新版本
docker network create --subnet172.18.0.0/16 --opt com.docker.network.bridge.namedocker1 mynetwork
#创建一个网段docker run -itd -P --name test11 --networkmynetwork centos:7 /bin/bashdocker run -itd -P --name test12 --networkmynetwork centos:7 /bin/bash
#创建两个容器指定网段#进入容器ping test11 test22 实验
部署一个MySQL镜像创建一个MySQL容器用navicat实现可以直接访问容器的MySQL。MySQL宿主机33066 MySQL容器3306
创建一个数据卷。在宿主机可以看到容器内MySQL的日志文件。
#获取镜像
docker pull mysql:5.7.20#创建并持续运行容器
docker run -itd -p 33066:3306 -v /opt/my_log:/var/lib/mysql -e MYSQL_ROOT_PASSWORD123456 --name mysql mysql:5.7.20#进入容器
docker exec -it mysql bash#容器内进入数据库
mysql -uroot -p123456#本机mysql远程登陆测试
[rootpup1 ~]# mysql -u root -p -P 33066 -h 20.0.0.10 #在容器的数据库中查询 #开启日志
set global general_logon;
show variables like general_log%; #容器中数据库新建库以测试日志同步情况
create database test2
show databases; #宿主机日志已同步