Docker常用命令

Docker基本命令更新软件包
yum -y update安装Docker虚拟机
yum install -y docker运行、重启、关闭Docker虚拟机
service docker startservice docker stop搜索镜像
docker search 镜像名称下载镜像
docker pull 镜像名称查看镜像
docker images删除镜像
docker rmi 镜像名称运行容器
docker run 启动参数镜像名称查看容器列表
docker ps -a停止、挂起、恢复容器
docker stop 容器IDdocker pause 容器IDdocker unpase 容器ID查看容器信息
docker inspect 容器ID删除容器
docker rm 容器ID数据卷管理
docker volume create 数据卷名称  #创建数据卷 docker volume rm 数据卷名称  #删除数据卷 docker volume inspect 数据卷名称  #查看数据卷网络管理
docker network ls 查看网络信息docker network create --subnet=网段 网络名称docker network rm 网络名称避免VM虚拟机挂起恢复之后,Docker虚拟机断网
vi /etc/sysctl.conf 文件中添加`net.ipv4.ip_forward=1`这个配置#重启网络服务systemctlrestart network开源前后端分离项目人人网,用Docker部署案例前端部署方案:

Docker常用命令

文章插图
 
后端部署方案
Docker常用命令

文章插图
 
数据库集群部署方案:
Docker常用命令

文章插图
 
redis集群部署方案
Docker常用命令

文章插图
 
安装PXC集群,负载均衡,双机热备安装PXC镜像
docker pull percona/percona-xtradb-cluster为PXC镜像改名
docker tag percona/percona-xtradb-cluster pxc创建net1网段
docker network create --subnet=172.18.0.0/16 net1创建5个数据卷
docker volume create --name v1docker volume create --name v2docker volume create --name v3docker volume create --name v4docker volume create --name v5创建备份数据卷(用于热备份数据)
docker volume create --name backup创建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安装Haproxy镜像
docker pull haproxy宿主机上编写Haproxy配置文件
vi /home/soft/haproxy.cfg配置文件如下:
global#工作目录chroot /usr/local/etc/haproxy#日志文件,使用rsyslog服务中local5日志设备(/var/log/local5),等级infolog 127.0.0.1 local5 info#守护进程运行daemondefaultslog globalmodehttp#日志格式optionhttplog#日志中不记录负载均衡的心跳检测记录optiondontlognull#连接超时(毫秒)timeout connect 5000#客户端超时(毫秒)timeout client50000#服务器超时(毫秒)timeout server50000#监控界面listenadmin_stats#监控界面的访问的IP和端口bind0.0.0.0:8888#访问协议modehttp#URI相对地址stats uri/dbs#统计报告格式stats realmGlobal statistics#登陆帐户信息stats authadmin:abc123456#数据库负载均衡listenproxy-mysql#访问的IP和端口bind0.0.0.0:3306#网络协议modetcp#负载均衡算法(轮询算法)#轮询算法:roundrobin#权重算法:static-rr#最少连接算法:leastconn#请求源IP算法:sourcebalanceroundrobin#日志格式optiontcplog#在MySQL中创建一个没有权限的haproxy用户,密码为空 。#Haproxy使用这个账户对MySQL数据库心跳检测optionmysql-check user haproxyserverMySQL_1 172.18.0.2:3306 check weight 1 maxconn 2000serverMySQL_2 172.18.0.3:3306 check weight 1 maxconn 2000serverMySQL_3 172.18.0.4:3306 check weight 1 maxconn 2000serverMySQL_4 172.18.0.5:3306 check weight 1 maxconn 2000serverMySQL_5 172.18.0.6:3306 check weight 1 maxconn 2000#使用keepalive检测死链optiontcpka


推荐阅读