一:环境安装
1.安装JAVA 运行环境
第一步:上传或下载安装包
cd /usr/local
jdk-8u152-linux-x64.tar.gz
第二步:解压安装包
tar -zxvf jdk-8u152-linux-x64.tar.gz
第三步:建立软连接(快捷方式)
ln -s /usr/local/jdk1.8.0_152/ /usr/local/jdk
第四步:修改环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
通过命令source /etc/profile让profile文件立即生效
source /etc/profile
第五步、测试是否安装成功
使用java -version,出现版本为java version "1.8.0_152"
2.安装maven
第一步:上传或下载安装包
cd /usr/local
apache-maven-3.6.1-bin.tar.gz
第二步:解压安装包
tar -zxvf apache-maven-3.6.1-bin.tar.gz
第三步:建立软连接
ln -s /usr/local/apache-maven-3.6.1/ /usr/local/maven
第四步:修改环境变量
vim /etc/profile
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin
通过命令source /etc/profile让profile文件立即生效
source /etc/profile
第五步、测试是否安装成功
mvn –v
3.安装docker
一个jdk的环境,比如说我想 安装3个环境jdk,环境会比较混乱,使用java -version 他就不知道是那个了,可能会进行覆盖,使用docker装多少了都没有关系,他是一个独立的空间,docker是一个半虚拟化技术,是一个应用容器引擎
下面安装的是以,网络的形式安装:不是以压缩包的形式
环境安装:
yum -y install gcc-c++
第一步:安装必要的一些系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2
第二步:添加软件源信息
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
第三步:更新并安装Docker-CE
yum makecache fast
yum -y install docker-ce
第四步:开启Docker服务
systemctl start docker
systemctl enable docker
第五步:测试是否安装成功
docker -v
第六步:配置镜像加速器
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ldu6wrsf.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
3.1离线安装docker
1.上传docker安装文件
使用xftp工具上传docker安装文件到/home目录
2.解压docker安装文件
命令:tar -zxvf docker-20.10.0.tgz
3.复制解压缩后的文件到指定文件夹
命令:cp docker/* /usr/bin/
4.注册编辑docker服务
vim /etc/systemd/system/docker.service
将以下内容写入到文件中: 添加完之后 ESC :wq
5.添加权限后启动
命令:chmod +x /etc/systemd/system/docker.service
6.重新加载配置文件
命令:systemctl daemon-reload
7.启动Docker
命令:systemctl start docker
8.设置开机自启
命令:systemctl enable docker.service
8.验证是否安装成功
命令:systemctl status docker
10.Docker容器自动启动设置
(1)在运行docker容器时可以添加如下参数来保证每次docker服务重启后容器也自动重启
docker run --restart=always
(2)如果已经启动了则可以只用如下命令:
Docker update --restart=always 容器id
4.安装mysql
已安装或能访问忽略
第一步:拉取镜像
docker pull mysql:5.7
第二步:启动
--name:容器名称
--restart=always 开机自启动
-v:数据挂载
-p:端口
-e:环境配置
-d:后台运行
docker run --name mysql --restart=always -v /home/ljaer/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 |
第三步:测试mysql
进入容器:
docker exec -it mysql /bin/bash
登录mysql:
mysql -u root -p
如果顺利进入,安装成功
5.安装rabbitmq
第一步:拉取镜像
docker pull rabbitmq:management
第二步:启动
docker run -d -p 5672:5672 -p 15672:15672 --restart=always --name rabbitmq rabbitmq:management |
第三步:安装延迟队列插件
1. 首先下载rabbitmq_delayed_message_exchange-3.9.0.ez文件上传到RabbitMQ所在服务器,下载地址:https://www.rabbitmq.com/community-plugins.html
2. 切换到插件所在目录,执行 docker cp rabbitmq_delayed_message_exchange-3.9.0.ez rabbitmq:/plugins 命令,将刚插件拷贝到容器内plugins目录下
3. 执行 docker exec -it rabbitmq /bin/bash 命令进入到容器内部,并 cd plugins 进入plugins目录
4. 执行 ls -l|grep delay 命令查看插件是否copy成功
5. 在容器内plugins目录下,执行命令启用插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
6. exit命令退出RabbitMQ容器内部,然后执行 docker restart rabbitmq 命令重启RabbitMQ容器
用户名密码:guest
6.安装redis
已安装或能访问忽略
第一步:拉取镜像
docker pull redis:latest
第二步:启动
docker run -d -p 6379:6379 --name redis --restart=always redis:latest redis-server |
7.安装nacos
已安装或能访问忽略
第一步:拉取镜像
docker pull nacos/nacos-server:1.4.1
第二步:启动
docker run --env MODE=standalone --name nacos --restart=always -d -p 8848:8848 -e JVM_XMS=512m -e JVM_XMX=512m nacos/nacos-server:1.4.1 |
用户名密码默认都是nacos
8.安装sentinel
已安装或能访问忽略
第一步:拉取镜像
docker pull bladex/sentinel-dashboard
第二步:启动
docker run --name sentinel-dashboard --restart=always -p 8858:8858 -d bladex/sentinel-dashboard:latest |
9.安装elasticsearch
已安装或能访问忽略
第一步:拉取镜像
docker pull elasticsearch:7.8.0
第二步:启动
需要建立:两个文件夹
mkdir -p /mydata/elasticsearch/plugins
mkdir -p /mydata/elasticsearch/data
授予权限chmod 777 /mydata/elasticsearch/data
docker run -p 9200:9200 -p 9300:9300 --name elasticsearch --restart=always \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms512m -Xmx512m" \ -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \ -d elasticsearch:7.8.0 |
第三步:安装中文分词器
- 下载elasticsearch-analysis-ik-7.8.0.zip
- 上传解压:unzip elasticsearch-analysis-ik-7.8.0.zip -d ik-analyzer
- 上传到es容器:docker cp ./ik-analyzer a24eb9941759:/usr/share/elasticsearch/plugins
- 重启es:docker restart a24eb9941759
a24eb9941759:表示容器ID 运行时,需要改成自己的容器ID
上传:
解压:
ik-analyzer:里面有很多jar包:
10 .安装kibana
第一步:拉取镜像
docker pull kibana:7.8.0
第二步:启动
docker run --name kibana --restart=always -e ELASTICSEARCH_URL=http://192.168.254.165:9200 -p 5601:5601 -d kibana:7.8.0 |
进入容器修改:docker exec -it 1e12f8dd3efd /bin/bash
可以用id、名称进入容器:
cd config
vi kibana.yml
elasticsearch.hosts: [ "http://192.168.200.129:9200" ]
docker restart 1dc0f78d78ad 重启kibana !
测试:安装分词词库是否可以使用!
GET /.kibana/_analyze
{
"text": "我是中国人",
"analyzer": "ik_max_word"
}
11.安装zipkin
第一步:拉取镜像
docker pull openzipkin/zipkin
第二步:启动
docker run --name zipkin --restart=always -d -p 9411:9411 openzipkin/zipkin |
可以进行链路追踪
12.安装minio
已安装或能访问忽略
第一步:拉取镜像
docker pull minio/minio
第二步:启动
docker run \ -p 9000:9000 \ -p 9001:9001 \ --name minio \ -d --restart=always \ -e "MINIO_ROOT_USER=admin" \ -e "MINIO_ROOT_PASSWORD=admin123456" \ -v /home/data:/data \ -v /home/config:/root/.minio \ minio/minio server /data --console-address ":9001" |
浏览器访问:http://IP:9000/minio/login,
访问是不能访问的:
开放桶:
13. 安装logstash
在项目运行的时候,搜集项目的日志,后面在搜索的时候会用
# 需要提前在linux服务器上环境 /mydata/logstash/logstash.conf logstash.conf input { tcp { mode => "server" host => "0.0.0.0" port => 5044 codec => json_lines } } filter{
} output { elasticsearch { hosts => "192.168.200.165:9200" index => "gmall-%{+YYYY.MM.dd}" } } |
第一步:拉取镜像
docker pull logstash:7.8.0
第二步:启动
docker run --name logstash -p 5044:5044 --restart=always --link elasticsearch:es -v /mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf -d logstash:7.8.0 |
注意:
停止所有的容器
docker stop $(docker ps -aq)
删除所有的容器
docker rm $(docker ps -aq)
#删除所有的镜像
docker rmi $(docker images -q)
问题:
Docker容器做端口映射报错
docker: Error response from daemon: driver failed programming external connectivity on endpoint lamp3 (46b7917c940f7358948e55ec2df69a4dec2c6c7071b002bd374e8dbf0d40022c): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 86 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name.
解决方法
docker服务启动时定义的自定义链DOCKER被清除
重启即可systemctl restart docker
二:hosts文件的使用
本地域名解析器:当我们在浏览器输入域名的时候,它首先找的不是远程的DNS,而是去本地的host中去找这个域名有没有对应的,如果有对应的,那么就根据对应的ip进行访问
用户请求,先去本地的hosts域名解析里面去找找到的话可以进行方法服务器的ip,没有找到则到dns域名解析器里面去找去访问,都没有找到则不存在
我们虚拟机用的net模式,net模式跟我们交流的是V8网卡
这个ip必须跟虚拟机的ip必须在同一个网段