——-## 1、cetos7–jdk安装和环境变量配置
———————————————————————————————————————————————-
1、下载jdk
2、使用sftp工具将下载的jdk文件上传到Linux服务器上
3、将jdk文件移动到/usr/local/java路径下
mv jdk-8u171-linux-x64.tar.gz /usr/local/java/jdk-8u171-linux-x64.tar.gz
4、解压jdk压缩包文件
tar -zxvf jdk-8u171-linux-x64.tar.gz
5、配置环境变量
vi /etc/profile
在文件末尾加入:
export JAVA_HOME=/opt/Root/Pragram/jdk1.8.0_171
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
保存退出;
6、使profile生效
source /etc/profile
7、验证jdk是否安装成功
java -version
———————————————————————————————————————————————-
——-## 2、CentOS7安装maven
———————————————————————————————————————————————-
1、下载
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
也可以在浏览器去maven官网下载需要的版本,这里安装的是二进制包,所以选择“-bin.tar.gz”结尾的包
2、解压
tar -xf apache-maven-3.6.3-bin.tar.gz -C /usr/local/
mv /usr/local/apache-maven-3.6.3/ maven3.6
3、加入环境变量
在/etc/profile文件最下方加入新的一行
export PATH=$PATH:/usr/local/maven3.6/bin
export PATH=$PATH:/opt/Root/Pragram/apache-maven-3.6.3/bin
添加完后,执行source /etc/profile,让配置生效
验证:
执行which mvn
显示/usr/local/maven3.6/bin/mvn就说明配置成功了
4、JAVA环境
运行maven需要Java环境—-系统安装有jdk,并且在系统中配置了JAVA_HOME。
5、maven打包命令
mvn clean package
———————————————————————————————————————————————-
——-## 3、CentOS7下zip解压和unzip压缩文件
———————————————————————————————————————————————-
1、安装zip、unzip应用。
yum install zip unzip
2、压缩和解压文件
  以下命令均在/home目录下操作
    cd /home #进入/home目录
  a、把/home目录下面的mydata目录压缩为mydata.zip
    zip -r mydata.zip mydata #压缩mydata目录
  b、把/home目录下面的mydata.zip解压到mydatabak目录里面
    unzip mydata.zip -d mydatabak
  c、把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip
    zip -r abc123.zip abc 123.txt
  d、把/home目录下面的wwwroot.zip直接解压到/home目录里面
    unzip wwwroot.zip
  e、把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面
    unzip abc\*.zip
  f、查看把/home目录下面的wwwroot.zip里面的内容
    unzip -v wwwroot.zip
  g、验证/home目录下面的wwwroot.zip是否完整
    unzip -t wwwroot.zip
  h、把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录
    unzip -j wwwroot.zip
———————————————————————————————————————————————-
——-## 4、k8s集群部署java项目
———————————————————————————————————————————————-
1、准备java项目,把java项目进行打包(jar包或者war包)
需要使用两个依赖环境
java环境 jdk环境
通过maven打包
mvn clean package
2、重要事情:编写Dockerfile文件释例如下:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD ./target/demojenkins.jar demojenkins.jar
ENTRYPOINT [“java”,”-jar”,”/demojenkins.jar”, “&”]
3、docker镜像制作
docker build -t java-demo-01:latest .
4、docker镜像查看
docker images
5、启动镜像和端口映射
docker run -d -p 8111:8111 java-demo-01:latest -t
6、登录阿里云Docker Registry
docker login –username=yangqinhua2008@qq.com registry.cn-chengdu.aliyuncs.com
7、从Registry中拉取镜像
docker pull registry.cn-chengdu.aliyuncs.com/hk-java-demo01/java-demo01:[镜像版本号]
8、将镜像推送到Registry
docker login –username=yangqinhua****@qq.com registry.cn-chengdu.aliyuncs.com
docker tag [ImageId] registry.cn-chengdu.aliyuncs.com/hk-java-demo01/java-demo01:[镜像版本号]
docker tag 4918ea9745e2 registry.cn-chengdu.aliyuncs.com/hk-java-demo01/java-demo01:1.0.0
docker push registry.cn-chengdu.aliyuncs.com/hk-java-demo01/java-demo01:[镜像版本号]
docker push registry.cn-chengdu.aliyuncs.com/hk-java-demo01/java-demo01:1.0.0
7、部署镜像,暴露应用
kubectl create deployment javademo01 –Image=registry.cn-chengdu.aliyuncs.com/hk-java-demo01/java-demo01:1.0.0
kubectl expose deployment javademo01 –port=8111 –target-port=8111 –type=NodePort
kubectl get svc
———————————————————————————————————————————————-
——-## 5、docker 安装MySQL
———————————————————————————————————————————————-
1、查找MySQL镜像:
docker search mysql
2、拉起MySQL镜像(:5.7 表示5.7版本)
docker pull mysql:5.7
3、运行MySQL容器
docker run -d -p 3306:3306 –privileged=true -v /docker/mysql/conf/my.cnf:/etc/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 –name mysql mysql:5.7 –character-set-server=utf8mb4 –collation-server=utf8mb4_general_ci
参数说明:
run  run是运行一个容器
-d  表示后台运行
-p  表示容器内部端口和服务器端口映射关联
–privileged=true  设值MySQL 的root用户权限, 否则外部不能使用root用户登陆
-v /docker/mysql/conf/my.cnf:/etc/my.cnf 将服务器中的my.cnf配置映射到docker中的/docker/mysql/conf/my.cnf配置
-v /docker/mysql/data:/var/lib/mysql   同上,映射数据库的数据目录, 避免以后docker删除重新运行MySQL容器时数据丢失
-e MYSQL_ROOT_PASSWORD=123456    设置MySQL数据库root用户的密码
–name mysql     设值容器名称为mysql
mysql:5.7   表示从docker镜像mysql:5.7中启动一个容器
–character-set-server=utf8mb4 –collation-server=utf8mb4_general_ci 设值数据库默认编码
4、新建MySQL用户 先进入容器
docker exec -it mysql bash
5、执行MySQL命令, 输入root密码, 连接MySQL
mysql -uroot -p
6、输入密码后, 执行下面命令创建新用户 (用户名: test , 密码: test123)
GRANT ALL PRIVILEGES ON *.* TO ‘test’@’%’ IDENTIFIED BY ‘test123’ WITH GRANT OPTION;
7、
8、
———————————————————————————————————————————————-
——-## 6、Docker 安装 Nginx
———————————————————————————————————————————————-
1、查看可用的 Nginx 版本
docker search nginx
2、取最新版的 Nginx 镜像
docker pull nginx:latest
3、查看本地镜像
docker images
4、运行容器
docker run –name nginx-test -p 8087:80 -d nginx
参数说明:
–name nginx-test:容器名称。
-p 8080:80: 端口进行映射,将本地 8087 端口映射到容器内部的 80 端口。
-d nginx: 设置容器在在后台一直运行。
5、安装成功
最后我们可以通过浏览器可以直接访问 8080 端口的 nginx 服务:
http://192.168.43.37:8087
———————————————————————————————————————————————-
——-## 7、Docker 安装 Redis
———————————————————————————————————————————————-
1、查看可用的 Redis 版本
docker search redis
2、取最新版的 Redis 镜像
docker pull redis:latest
3、查看本地镜像
docker images
4、运行容器
docker run -itd –name redis-test -p 6379:6379 redis
参数说明:
-p 6379:6379:映射容器服务的 6379 端口到宿主机的 6379 端口。外部可以直接通过宿主机ip:6379 访问到 Redis 的服务。
5、安装成功
docker ps 最后我们可以通过 docker ps 命令查看容器的运行信息:
6、接着我们通过 redis-cli 连接测试使用 redis 服务。
docker exec -it redis-test /bin/bash
redis-cli
set test 1
get test
———————————————————————————————————————————————-
——-## 8、Docker 安装 Tomcat
———————————————————————————————————————————————-
1、查看可用的 Tomcat 版本
docker search tomcat
2、取最新版的 Tomcat 镜像
docker pull tomcat:latest
3、查看本地镜像
docker images
4、运行容器
docker run –name tomcat -p 8080:8080 -v $PWD/test:/usr/local/tomcat/webapps -d tomcat
命令说明:
-p 8080:8080:将主机的 8080 端口映射到容器的 8080 端口。
-v $PWD/test:/usr/local/tomcat/webapps:将主机中当前目录下的 test 挂载到容器的 /webapps。
5、查看容器启动情况
docker ps
6、通过浏览器访问
http://192.168.43.37:8080
———————————————————————————————————————————————-
——-## 9、Docker 命令集
———————————————————————————————————————————————-
1、帮助命令
docker version
docker info
docker –help
2、镜像命令
docker images
docker search 某个XXX镜像名字
docker search tomcat
docker pull 某个XXX镜像名字
docker rmi 某个XXX镜像名字ID
3、容器命令-拉取镜像
docker pull centos
4、新建并启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
docker run -it centos /bin/bash
5、列出当前所有正在运行的容器
docker ps [OPTIONS]
6、退出容器
exit 容器停止退出
ctrl+P+Q 容器不停止退出
7、启动容器
docker start 容器ID或者容器名
8、重启容器
docker restart 容器ID或者容器名
9、停止容器
docker stop 容器ID或者容器名
10、强制停止容器
docker kill 容器ID或者容器名
11、删除已停止的容器
docker rm 容器ID
12、一次性删除多个容器
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
13、启动守护式容器
docker run -d 容器名
14、查看容器日志
docker logs -f -t –tail 容器ID
* -t 是加入时间戳
* -f 跟随最新的日志打印
* –tail 数字 显示最后多少条
15、查看容器内运行的进程
docker top 容器ID
16、查看容器内部细节
docker inspect 容器ID
17、进入正在运行的容器并以命令行交互
docker exec -it 容器ID bashShell
重新进入docker attach 容器ID
attach 直接进入容器启动命令的终端,不会启动新的进程
exec 是在容器中打开新的终端,并且可以启动新的进程
18、从容器内拷贝文件到主机上
docker cp 容器ID:容器内路径 目的主机路径
———————————————————————————————————————————————-
——-## 10、使用docker快速安装oracle
———————————————————————————————————————————————-
1、拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
2、创建容器
docker run -d -p 1521:1521 –name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
3、进入镜像配置
docker exec -it oracle11g bash
su root;
密码:helowin
4、编辑环境变量
vi /etc/profile
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
5、创建软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
source /etc/profile
6、切换到oracle 用户
sqlplus /nolog
conn /as sysdba
7、接着执行下面命令
alter user system identified by system;
alter user sys identified by sys;
8、重启容器后就可以直接用了
docker restart oracle11g
9、现在可以用system用户连接,密码:system
———————————————————————————————————————————————-
——-## 11、Docker 安装 Ubuntu
———————————————————————————————————————————————-
1、查看可用的 Ubuntu 版本
docker search ubuntu
2、拉取最新版的 Ubuntu 镜像
docker pull ubuntu
或者:
docker pull ubuntu:latest
3、查看本地镜像
docker images
4、运行容器,并且可以通过 exec 命令进入 ubuntu 容器
docker run -itd –name ubuntu-test ubuntu
docker exec -it ubuntu-test /bin/bash
5、安装成功
docker ps
———————————————————————————————————————————————-
——-## 12、Docker 安装 MongoDB
———————————————————————————————————————————————-
1、查看可用的 MongoDB 版本
docker search mongo
2、取最新版的 MongoDB 镜像
docker pull mongo:latest
3、查看本地镜像
docker images
4、运行容器
docker run -itd –name mongo -p 27017:27017 mongo –auth
参数说明:
-p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。
–auth:需要密码才能访问容器服务。
5、安装成功
docker ps
6、接着使用以下命令添加用户和设置密码,并且尝试连接
docker exec -it mongo mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
> db.createUser({ user:’admin’,pwd:’123456′,roles:[ { role:’userAdminAnyDatabase’, db: ‘admin’},”readWriteAnyDatabase”]});
# 尝试使用上面创建的用户信息进行连接。
> db.auth(‘admin’, ‘123456’)
———————————————————————————————————————————————-
——-## 13、Win10 SSH远程连接Docker中的ubuntu系统
———————————————————————————————————————————————-
1、升级apt-get
apt-get update
2、升级ssh-client、ssh-server
apt-get install openssh-client
apt-get install openssh-server
3、安装vim
apt-get install vim
4、编辑sshd_config文件
vim /etc/ssh/sshd_config
PermitRootLogin yes
UsePAM no
5、重启ssh服务
service ssh restart
6、设置ssh密码
passwd root
7、启动ubuntu容器
docker run -ti -P 10020:20 ubuntu /bin/bash
docker run -itd –name ubuntu-22 -p 10020:22 ubuntu /bin/bash
8、使用xshell工具连接
cmd执行 ipconfig 命令查看docker IP,使用xshell工具远程10020端口进行连接
———————————————————————————————————————————————-
——-## 14、Docker 安装nacos
———————————————————————————————————————————————-
1、拉取Nacos镜像到本地docker
docker pull nacos/nacos-server
2、查看镜像
docker images
3、新建nacos容器
docker run –env MODE=standalone –name nacos -d -p 8848:8848 nacos/nacos-server
4、查看启动的容器
docker ps
5、浏览器访问http://IP:Port/nacos即可见到界面
http://192.168.43.37:8848/nacos
6、nacos数据库
7、若使用mysql数据库
———————————————————————————————————————————————-
——-## 15、Docker部署sentinel
———————————————————————————————————————————————-
1、拉取sentinel镜像
docker pull bladex/sentinel-dashboard
2、查看sentinel镜像是否被拉取
docker images
3、创建sentinel
docker run –name sentinel -d -p 8858:8858 -d bladex/sentinel-dashboard
4、查看sentinel http://IP:Port/
http://192.168.43.37:8858/
———————————————————————————————————————————————-
——-## 16、Docker安装 ZooKeeper
———————————————————————————————————————————————-
1、拉取ZooKeeper镜像
docker pull zookeeper:3.4.9
2、查看ZooKeeper镜像是否被拉取
docker images
3、创建ZooKeeper
docker run –privileged=true -d –name zookeeper –publish 2181:2181 -d zookeeper:3.4.9
4、查看容器是否启动
docker ps
5、测试ZooKeeper
ZooInspector 客户端工具连接
java -jar zookeeper-dev-ZooInspector.jar
———————————————————————————————————————————————-
——-## 17、Docker安装 Kafka 消息中间件
———————————————————————————————————————————————-
1、查看可用的 Kafka 版本前置条件安装zookeeper
docker search kafka
2、拉取 Kafka 镜像 选择第一个
docker pull wurstmeister/kafka
3、同样的操作安装zookeepe
docker search zookeeper
docker pull zookeeper
4、创建zookeeper并启动容器
docker run -d –name zookeeper -p 2181:2181 -t zookeeper
5、创建启动kafka容器时 需要将宿主ip换成你自己的
docker run -d –name kafka –publish 9092:9092 –link zookeeper –env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 –env KAFKA_ADVERTISED_HOST_NAME=你的宿主ip –env KAFKA_ADVERTISED_PORT=9092 –volume /etc/localtime:/etc/localtime wurstmeister/kafka:latest
docker run -d –name kafka –publish 9092:9092 –link zookeeper –env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 –env KAFKA_ADVERTISED_HOST_NAME=192.168.43.37 –env KAFKA_ADVERTISED_PORT=9092 –volume /etc/localtime:/etc/localtime wurstmeister/kafka:latest
6、查看当前运行的容器
docker ps
docker ps -a
7、docker命令进入kafka容器内
docker exec -it kafka容器id /bin/bash
cd /opt/kafka_2.13-2.6.0/
8、创建一个topic 名为test01
./kafka-topics.sh –create –zookeeper zookeeper:2181 –replication-factor 1 –partitions 1 –topic test01
9、/查看我们的topic列表
./kafka-topics.sh –list –zookeeper zookeeper:2181
10、运行一个生产者去发送消息
./kafka-console-producer.sh –broker-list localhost:9092 –topic test01
11、创建一个消费者接收消息
./kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic test01 –from-beginning
———————————————————————————————————————————————-
——-## 18、docker 运行SpringBoot
———————————————————————————————————————————————-
1、准备目录
cd /usr/local/src
2、创建DockerFile
mkdir /usr/local/jdk
cd /usr/local/jdk
将开发的jar包上传到这个文件夹
vi DockerFile
3、Dockerfile的内容如下
#环境
FROM java:8
#作者信息
MAINTAINER 70ci<work@70ci.com>
# VOLUME 指定了临时文件目录为/tmp
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD demo1.jar demo.jar
#暴漏端口 80
EXPOSE 80
# 运行jar包
RUN bash -c ‘touch /demo.jar’
ENTRYPOINT [“java”,”-Djava.security.egd=file:/dev/./urandom”,”-jar”,”/demo.jar”]
4、制作镜像
docker build -f Dockerfile -t demo .
5、查看是否构建成功
docker images
6、运行jar包
docker run -d -it -p 80:80 demo bash
7、浏览器访问
———————————————————————————————————————————————-
——-## 19、阿里云docker搭建ngrok
———————————————————————————————————————————————-
1、环境准备
阿里云CentOS:7
阿里云申请合法域名
2、docker安装ngrok
docker search ngrok
3、获取镜像
docker pull hteen/ngrok
4、启动docker 生成客户端
docker run –rm -it -e DOMAIN=”xxxx.work” -v /use/local/ngrok:/myfiles hteen/ngrok /bin/sh /build.sh
5、启动docker ngrok镜像
docker run -idt –name ngrok-server \
-v /use/local/ngrok:/myfiles \
-p 80:80 \
-p 443:443 \
-p 4443:4443 \
-e DOMAIN=’xxxx.work’ hteen/ngrok /bin/sh /server.sh
6、启动本地客户端
widnows:
ngrok -config=ngrok.cfg -subdomain xxx 80
7、配置ngrok.cfg文件
server_addr: “xxxx.work:4443”
trust_host_root_certs: false
8、阿里云配置安全组
阿里云服务器需开通4443端口,才可被本地访问。
安全组地址:
https://ecs.console.aliyun.com/?spm=a2c1d.8251892.recommends.decs.2a3b5b7678q2ZN#/securityGroupDetail/region/cn-shenzhen/groupId/sg-wz96nkpp8po8pelfiyfe/rule/intranetIngress
9、域名申请
域名申请地址:
https://dc.console.aliyun.com/next/index?spm=5176.12818093.0.ddomain.488716d0nPx6uc#/domain/list/all-domain
10、云解析域名地址:
https://dns.console.aliyun.com/?spm=5176.12818093.0.ddns.488716d0nPx6uc#/dns/domainList
———————————————————————————————————————————————-
——-## 20、Docker 安装 Jenkins
———————————————————————————————————————————————-
1、查看可用的 Jenkins 版本
docker search jenkins
2、docker拉取镜像–拉取中文版的Jenkins镜像
docker pull jenkinszh/jenkins-zh
3、创建Jenkins挂载目录并授权权限
mkdir -p /var/jenkins_mount
chmod 777 /var/jenkins_mount
4、创建并启动Jenkins容器
docker run -d -p 10240:8080 -p 10241:50000 -v /var/jenkins_mount:/var/jenkins_home -v /root/apache-maven-3.6.3:/usr/local/maven -v /etc/localtime:/etc/localtime –name myjenkins jenkinszh/jenkins-zh
docker run -d -p 10240:8080 -p 10241:50000 -v /var/jenkins_mount:/var/jenkins_home -v /opt/Root/Pragram/apache-maven-3.6.3:/usr/local/maven -v /etc/localtime:/etc/localtime –name myjenkins jenkinszh/jenkins-zh
参数的含义:
-d 后台运行镜像
-p 10240:8080 意义: 将镜像的8080端口映射到服务器的10240端口。
-p 10241:50000 意义:将镜像的50000端口映射到服务器的10241端口
-v /var/jenkins_mount:/var/jenkins_mount 意义: /var/jenkins_home目录为容器jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录。这里我们设置的就是上面我们创建的 /var/jenkins_mount目录
-v /etc/localtime:/etc/localtime 意义:让容器使用和服务器同样的时间设置。
-v /root/apache-maven-3.6.3:/usr/local/maven 意义:挂载本地maven,前面是服务器上的,后面是挂载到容器上的目录
–name myjenkins 意义:给容器起一个别名
5、解锁jenkins
docker ps
docker exec -it 容器ID /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword
6、 Jenkins中文设置
进入Manage Jenkins中,点击Manage Plugins
安装插件 Locale plugin , Localization: Chinese (Simplified) , Localization Support Plugin,如果失败就再安装一次
设置中文,如果没有Locale,可能是上一步中插件未安装
如果出现部分翻译,部分没翻译的现象,则删除插件。重启Jenkins(http://域名/jenkins/restart),再次安装插件(第一次安装只有部分翻译了)
如果安装新的插件,重启了服务,又变成部分汉化了
将语言设定为zh_CN,Jenkins切换为中文。
将语言设定为zh_US,Jenkins切换为英文。
调用restart重启Jenkins:http://域名/jenkins/restart。
再次语言设定为zh_CN,刷新即可
———————————————————————————————————————————————-
——-## 21、Docker 安装 Consul
———————————————————————————————————————————————-
1、查看可用的 Consul 版本
docker search consul
2、使用docker获取consul
docker pull consul
3、启动consul
docker run –name consul -d -p 8500:8500 consul
4、浏览器打开 http://IP:8500
http://192.168.43.37:8500
———————————————————————————————————————————————-
——-## 22、docker 安装 keepalived
———————————————————————————————————————————————-
1、查看可用的 keepalived 版本
docker search keepalived
2、拉取镜像
docker pull arcts/keepalived
3、启动容器— 因为keepalived需要创建vip,其对网络权限要求较高,我们在启动容器的时候需要增加权限,启动方式如下
docker run -it –name keepalived_master –net=host –cap-add NET_ADMIN [image id] /bin/bash
docker run -it –name keepalived_master –net=host –cap-add NET_ADMIN 124d8d1c0dc2 /bin/bash
4、编辑keepalived配置文件
vim /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state MASTER #主为MASTER 备为BACKUP
interface ens33 #ens33为绑定的网卡名,此处请根据现实情况更改
virtual_router_id 2 #虚拟路由ID,负责相同虚拟IP的keepalived集群最好定义为相同的id
priority 101 #优先级,MASTER的优先级必须比BACKUP的高
advert_int 2
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.11.96 #虚拟IP
}
}

5、测试配置文件
keepalived -t -f /etc/keepalived/keepalived.conf
6、启动
keepalived -l -f /etc/keepalived/keepalived.conf
7、在主节点启动之后命令行无返回

8、使用ip addr验证是否绑定虚拟ip
ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:b8:e5:cf brd ff:ff:ff:ff:ff:ff
inet 192.168.11.172/24 brd 192.168.11.255 scope global ens33
valid_lft forever preferred_lft forever
inet 192.168.11.96/32 scope global ens33 #虚拟ip已绑定
valid_lft forever preferred_lft forever

9、主节点正常运行的情况下,备节点启动之后会有返回
bash-4.4# keepalived -l -f /etc/keepalived/keepalived.conf
Keepalived[9]: Starting Keepalived v2.0.5 (06/30,2018), git commit v3.8.1-6-g8fc23ec3d0
Keepalived[9]: WARNING – keepalived was build for newer Linux 4.4.6, running on Linux 3.10.0-1062.4.3.el7.x86_64 #1 SMP Wed Nov 13 23:58:53 UTC 2019
Keepalived[9]: Opening file ‘/etc/keepalived/keepalived.conf’.
bash-4.4# Keepalived[10]: Starting VRRP child process, pid=11
Keepalived_vrrp[11]: Registering Kernel netlink reflector
Keepalived_vrrp[11]: Registering Kernel netlink command channel
Keepalived_vrrp[11]: Opening file ‘/etc/keepalived/keepalived.conf’.
Keepalived_vrrp[11]: Registering gratuitous ARP shared channel
Keepalived_vrrp[11]: (VI_1) Entering BACKUP STATE (init)

10、最后一行可以看到备节点就位 查看备节点ip信息
ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:b8:e5:cf brd ff:ff:ff:ff:ff:ff
inet 192.168.11.181/24 brd 192.168.11.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::8e86:ffc0:f6ed:bce7/64 scope link
valid_lft forever preferred_lft foever

11、验证 关闭主节点 在主节点上查看ip地址
ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:b8:e5:cf brd ff:ff:ff:ff:ff:ff
inet 192.168.11.172/24 brd 192.168.11.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::8e86:ffc0:f6ed:bce7/64 scope link
valid_lft forever preferred_lft foever
可以看到vip已解绑
12、查看备节点
bash-4.4# keepalived -l -f /etc/keepalived/keepalived.conf
Keepalived[9]: Starting Keepalived v2.0.5 (06/30,2018), git commit v3.8.1-6-g8fc23ec3d0
Keepalived[9]: WARNING – keepalived was build for newer Linux 4.4.6, running on Linux 3.10.0-1062.4.3.el7.x86_64 #1 SMP Wed Nov 13 23:58:53 UTC 2019
Keepalived[9]: Opening file ‘/etc/keepalived/keepalived.conf’.
bash-4.4# Keepalived[10]: Starting VRRP child process, pid=11
Keepalived_vrrp[11]: Registering Kernel netlink reflector
Keepalived_vrrp[11]: Registering Kernel netlink command channel
Keepalived_vrrp[11]: Opening file ‘/etc/keepalived/keepalived.conf’.
Keepalived_vrrp[11]: Registering gratuitous ARP shared channel
Keepalived_vrrp[11]: (VI_1) Entering BACKUP STATE (init)
Keepalived_vrrp[11]: (VI_1) Entering MASTER STATE
可以看到虚拟ip绑定到了备节点上
13、重新启动主节点,备节点会发生变化
bash-4.4# keepalived -l -f /etc/keepalived/keepalived.conf
Keepalived[9]: Starting Keepalived v2.0.5 (06/30,2018), git commit v3.8.1-6-g8fc23ec3d0
Keepalived[9]: WARNING – keepalived was build for newer Linux 4.4.6, running on Linux 3.10.0-1062.4.3.el7.x86_64 #1 SMP Wed Nov 13 23:58:53 UTC 2019
Keepalived[9]: Opening file ‘/etc/keepalived/keepalived.conf’.
bash-4.4# Keepalived[10]: Starting VRRP child process, pid=11
Keepalived_vrrp[11]: Registering Kernel netlink reflector
Keepalived_vrrp[11]: Registering Kernel netlink command channel
Keepalived_vrrp[11]: Opening file ‘/etc/keepalived/keepalived.conf’.
Keepalived_vrrp[11]: Registering gratuitous ARP shared channel
Keepalived_vrrp[11]: (VI_1) Entering BACKUP STATE (init)
Keepalived_vrrp[11]: (VI_1) Entering MASTER STATE
Keepalived_vrrp[11]: (VI_1) Master received advert from 192.168.11.172 with higher priority 101, ours 100
Keepalived_vrrp[11]: (VI_1) Entering BACKUP STATE
最后两行可以看到状态发生改变,收到主节点消息重新变回备节点
———————————————————————————————————————————————-
——-## 21、docker 搭建 zentao 禅道环境
———————————————————————————————————————————————-
1、查看可用的 zentao 版本
docker search zentao
2、拉取镜像
docker pull idoop/zentao
3、启动容器 该链接也记录了命令,查看/data,发现已经自动创建了zbox目录
mkdir -p /data/zbox
docker run -d -p 8880:80 -p 3316:3306 -e ADMINER_USER=”admin” -e ADMINER_PASSWD=”123456″ -e BIND_ADDRESS=”false” -v /data/zbox/:/opt/zbox/ –add-host smtp.exmail.qq.com:163.177.90.125 –name zentao-server idoop/zentao:latest
参数说明:
8880 访问禅道外部端口号
3316把容器3306数据库端口映射到主机3316端口
USER 设置登录账号admin
PASSWD 设置登录密码123456
BIND_ADDRESS设置为false
4、登录 访问http://ip:8880/ 即可访问禅道首页
首页输入上面设置的账号admin和密码123456登录,进入后,提示改密码(如,P@ssw0rd)

原文地址:http://www.cnblogs.com/salixleaf/p/16870183.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性