一、Docker 数据卷(两个容器之间的挂载)
docker pull centos
1、宿主机目录/var/www 挂载容器中的/data1
docker run -v /var/www:/data1 --name test1 -it centos:7 /bin/bash
[root@202dd484fd62 /]# cd /data1/
[root@202dd484fd62 data1]# touch test1.txt
2、返回宿主机进行查看
[root@docker ~]# ls /var/www/
应用场景:
原理:将容器内部的配置文件目录,挂载到宿主机指定目录下
作用:
① 修改配置文件例如,nginx.conf /usr/local/nginx/conf/nginx.conf —> /container_nginx/conf/nginx.conf
② 容器内部产生的日志,如何收集 将容器内部存方日志文件的目录挂载到宿主机指定目录下/container_nginx/log/access_log/access_log
③ 传入变量 挂载到宿主机 在宿主机上添加变量内容,将变量放入共享目录,在容器中/etc/profile 直接加载就可以
export xxdir=/data/data1/xx.
二、数据卷容器
1、数据卷容器
docker run --name web100 -v /data1 -v /data2 -it centos /bin/bash
新容器挂载数据卷容器web100
docker run -it --volumes-from web100 --name db1 centos /bin/bash
原理:让两个容器实现数据共享
php ——》mysql 之间想要通讯 借助于socket 通讯文件
三、端口映射
docker run -d -P httpd:centos
docker run -d -p 49280:80 httpd:centos
docker ps -a
6d461287c25d httpd:centos “/run.sh” 7 seconds ago Up 7 seconds 0.0.0.0:49280->80/tcp zen_swanson
四、容器互联(使用centos镜像)
docker run -itd -P --name web1 centos /bin/bash //创建并运行容器取名web1,端口号自动映射
docker run -itd -P --name web2 --link web1:web1 centos /bin/bash //创建并运行容器取名web2,链接到web1和其通信
进web2 容器 ping web1
哨兵 ——》监控 redis
哨兵和redis包括哨兵和哨兵之间相互监控,会使用ping命令