Docker环境下的前后端分离项目部署与运维 第一篇

目录

项目简介

Docker虚拟机

Docker搭建MySql集群

Docker环境下的前后端分离项目部署与运维 第一篇_第1张图片

Docker环境下的前后端分离项目部署与运维 第一篇_第2张图片
防火墙开放8080至8085端口,支持tcp协议:
reload:重新加载使修改生效;
Docker环境下的前后端分离项目部署与运维 第一篇_第3张图片
Docker环境下的前后端分离项目部署与运维 第一篇_第4张图片
Docker环境下的前后端分离项目部署与运维 第一篇_第5张图片
Docker环境下的前后端分离项目部署与运维 第一篇_第6张图片
Docker环境下的前后端分离项目部署与运维 第一篇_第7张图片
Docker环境下的前后端分离项目部署与运维 第一篇_第8张图片
Docker环境下的前后端分离项目部署与运维 第一篇_第9张图片
Docker环境下的前后端分离项目部署与运维 第一篇_第10张图片
Docker环境下的前后端分离项目部署与运维 第一篇_第11张图片
在这里插入图片描述
Docker环境下的前后端分离项目部署与运维 第一篇_第12张图片
导出镜像到本地和删除镜像:
Docker环境下的前后端分离项目部署与运维 第一篇_第13张图片
从本地导入镜像:
Docker环境下的前后端分离项目部署与运维 第一篇_第14张图片
-p9000:8000:其中9000是宿主机端口,8080是容器的端口
-v/home/project:/soft :其中/home/project是宿主机目录,/soft是容器目录;
–privileged 表示容器具有最高读写权限
Docker环境下的前后端分离项目部署与运维 第一篇_第15张图片
Docker环境下的前后端分离项目部署与运维 第一篇_第16张图片
Docker环境下的前后端分离项目部署与运维 第一篇_第17张图片
Docker环境下的前后端分离项目部署与运维 第一篇_第18张图片
弱一致性:在A节点写入数据,无法保证分发到B节点上。所以可能出现我在A节点写入数据,我在B节点可能查不到数据。所以不能保存高价值数据。
Docker环境下的前后端分离项目部署与运维 第一篇_第19张图片
Docker环境下的前后端分离项目部署与运维 第一篇_第20张图片
PXC集群数据同步是双向的,在任何一个 节点上都是可以同时读写数据的。Replication集群数据同步是单向的。
Docker环境下的前后端分离项目部署与运维 第一篇_第21张图片
Docker环境下的前后端分离项目部署与运维 第一篇_第22张图片
Docker环境下的前后端分离项目部署与运维 第一篇_第23张图片
Docker环境下的前后端分离项目部署与运维 第一篇_第24张图片
Docker环境下的前后端分离项目部署与运维 第一篇_第25张图片
Docker环境下的前后端分离项目部署与运维 第一篇_第26张图片
镜像名字特别长,重新起一个别名叫pxc,同时删除原镜像:
Docker环境下的前后端分离项目部署与运维 第一篇_第27张图片
Docker环境下的前后端分离项目部署与运维 第一篇_第28张图片
docker inspect net1:查看net1的相关信息
在这里插入图片描述
不要在容器里面保存业务数据,要把业务数据保存到宿主机里面,使用的技术就是目录映射:
Docker环境下的前后端分离项目部署与运维 第一篇_第29张图片
Docker环境下的前后端分离项目部署与运维 第一篇_第30张图片
-d:容器在后台运行,
容器里面的mysql数据目录是:/var/lib/mysql
XTRABACKUP:数据库节点之间同步的密码
privileged:给与最高权限
namenode1:创建出来容器的名字node1
net
net1:使用的内部网段是net1
ip 172.18.0.2:分配给这个容器的内部网段的ip
Docker环境下的前后端分离项目部署与运维 第一篇_第31张图片
创建5个数据卷

docker volume create --name v1
docker volume create --name v2
docker volume create --name v3
docker volume create --name v4
docker volume create --name v5

创建5节点的PXC集群

注意,每个MySQL容器创建之后,因为要执行PXC的初始化和加入集群等工作,耐心等待1分钟左右再用客户端连接MySQL。另外,必须第1个MySQL节点启动成功,用MySQL客户端能连接上之后,再去创建其他MySQL节点。

#创建第1个MySQL节点
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -v v1:/var/lib/mysql -v backup:/data --privileged --name=node1 --net=net1 --ip 172.18.0.2 pxc
#创建第2个MySQL节点
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v2:/var/lib/mysql -v backup:/data --privileged --name=node2 --net=net1 --ip 172.18.0.3 pxc
#创建第3个MySQL节点
docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v3:/var/lib/mysql --privileged --name=node3 --net=net1 --ip 172.18.0.4 pxc
#创建第4个MySQL节点
docker run -d -p 3309:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v4:/var/lib/mysql --privileged --name=node4 --net=net1 --ip 172.18.0.5 pxc
#创建第5个MySQL节点
docker run -d -p 3310:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v5:/var/lib/mysql -v backup:/data --privileged --name=node5 --net=net1 --ip 172.18.0.6 pxc

你可能感兴趣的:(docker)