Docker——安装(Redis、Nacos、Tomcat、MySQL、ES、Kibana)

一、安装Redis

创建数据卷

[root@VM-16-16-centos ~]# docker volume create redis
redis
[root@VM-16-16-centos ~]# docker volume ls
DRIVER    VOLUME NAME
local     nacos
local     redis
local     tomcat
[root@VM-16-16-centos ~]# docker volume inspect redis
[
    {
        "CreatedAt": "2021-12-28T12:34:25+08:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/redis/_data",
        "Name": "redis",
        "Options": {},
        "Scope": "local"
    }
]

创建容器运行并进行挂载

#1.创建运行redis容器,并进行数据卷挂载
docker run --name myRedis \
-v redis:/usr/local/etc/redis \
-p 6379:6379 -d redis:6.0.9

#2.防火墙端口放行
firewall-cmd --zone=public --add-port=6379/tcp --permanent
#3.重启防火墙
firewall-cmd --reload

客户端连接管理

二、安装Nacos

Nacos依赖于JDK运行,所以Linux上也需要安装JDK才行。

2.1 SpringBoot 相关配置

网关全局配置文件

server:
  port: 10010 #网关的端口

spring:
  application:
    name: geteway # 应用名称
  cloud:
    nacos:
      server-addr: Nacos服务器的ip:9849 #nacos服务中心ip和端口

父工程依赖:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    <version>2.2.5.RELEASE</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

客户端依赖:

<!-- nacos客户端依赖包 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

2.2 拉取镜像&启动

# 拉取Nacos镜像
docker pull nacos/nacos-server:2.0.1

#方式一:快速启动(端口映射格式 宿主机端口:容器内部nacos端口)
docker run --name myNacos -e MODE=standalone -p 9849:8848 -d nacos/nacos-server:2.0.1

#方式二:数据卷挂载启动
docker run --name myNacos -e MODE=standalone \
-v nacos:/home/nacos \
-p 9849:8848 -d nacos/nacos-server:2.0.1

可以修改Nacos运行时的内存大小;

访问中心:

三、安装Tomcat

#创建数据卷
docker volume create tomcat

#创建运行容器,并进行数据卷挂载
docker run --name myTomcat \
-v tomcat:/usr/local/tomcat \
-p 8686:8080 -d tomcat:8.5.35

四、安装 MySQL

#1.创建运行 mysql 容器(用户名:root 	密码:123456)
docker run -itd --name myMySql -p 26033:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

#2.防火墙端口放行
firewall-cmd --zone=public --add-port=26033/tcp --permanent

#3.重启防火墙
firewall-cmd --reload

#4.服务器暴露26033端口

五、安装 ElasticSearch、Kibana、IK分词器

5.1 安装 ElasticSearch

#1.拉取镜像(如果有镜像的 .tar 包可以加载镜像即可)
docker pull elasticsearch:7.12.1

#2.创建网络
#因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络
docker network create es-net

#3.使用数据卷挂载es
docker volume create es-data
docker volume create es-plugins
docker volume create es-config

#.运行单点es容器
docker run -d \
	--name es \
    -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
    -e "discovery.type=single-node" \
    -v es-data:/usr/share/elasticsearch/data \
    -v es-plugins:/usr/share/elasticsearch/plugins \
    -v es-config:/usr/share/elasticsearch/config \
    --privileged \
    --network es-net \
    -p 9200:9200 \
elasticsearch:7.12.1

注意:

  1. 9200 端口号记得放行,重启防火墙。防火墙端口开启参考博客

命令解释:

  • -e "cluster.name=es-docker-cluster":设置集群名称
  • -e "http.host=0.0.0.0":监听的地址,可以外网访问
  • -e "ES_JAVA_OPTS=-Xms512m -Xmx512m":内存大小(ES运行后对内存要求高,不能小于512m)
  • -e "discovery.type=single-node":非集群模式
  • -v es-data:/usr/share/elasticsearch/data:挂载数据卷,绑定es的数据目录
  • -v es-logs:/usr/share/elasticsearch/logs:挂载数据卷,绑定es的日志目录
  • -v es-plugins:/usr/share/elasticsearch/plugins:挂载数据卷,绑定es的插件目录
  • --privileged:授予数据卷访问权
  • --network es-net :加入一个名为es-net的网络中
  • -p 9200:9200:端口映射配置(实际开发时可以用别的端口号映射 9200端口,提高安全性)

在浏览器中输入:http://自己网站的ip:9200 即可看到 elasticsearch 的响应结果:

5.2 安装 Kibana

#1.拉取镜像
docker pull kibana:7.12.1

#2.运行Kibana容器
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601  \
kibana:7.12.1

#注意:http://es:9200 这里的端口是docker容器中的es容器对外映射的端口号(比如 20035:9200 指的是后面的端口号)
  • --network=es-net :加入一个名为 es-net 的网络中,与 elasticsearch 在同一个网络中。
  • -e ELASTICSEARCH_HOSTS=http://es:9200":设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch。
  • -p 5601:5601:端口映射配置。

kibana启动一般比较慢,需要多等待一会,可以通过命令:

#查看 kibana容器的启动日志(Ctrl+C 命令退出)
docker logs -f kibana

#如果日志中输出下列日志则说明启动成功:
{"type":"log","@timestamp":"2022-02-14T14:33:16+00:00","tags":["listening","info"],"pid":7,"message":"Server running at http://0.0.0.0:5601"}

此时,在浏览器输入地址访问:http://自己网站的ip:5601,即可看到结果;

5.3 IK分词器

5.3.1 在线安装 IK 分词器(较慢)

运行安装命令出错时多安装几遍!!!

# 1.进入容器内部
docker exec -it es /bin/bash

# 2.在线下载并安装
./bin/elasticsearch-plugin  install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip

当打印如下日志时退出容器并重启容器:

# 1.进入容器
[root@VM-16-16-centos ~]# docker exec -it es /bin/bash
# 2.在线安装插件
[root@f06c6d9c3c70 elasticsearch]# ./bin/elasticsearch-plugin  install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip
-> Installing https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip
-> Downloading https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip
[=================================================] 100%?? 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.net.SocketPermission * connect,resolve
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.

Continue with installation? [y/N]y
-> Installed analysis-ik
-> Please restart Elasticsearch to activate any plugins installed
# 3.退出
[root@de4a182e3d26 elasticsearch]# exit
exit
# 4.重启容器
[root@VM-16-16-centos ~]# docker restart es
es
[root@VM-16-16-centos ~]# 

5.3.2 离线安装 IK 分词器(较快)

1)查看es容器插件的数据卷目录;

安装插件需要知道elasticsearch的plugins目录位置,而我们用了数据卷挂载,因此需要查看elasticsearch的数据卷目录,通过下面命令查看:

#查看数据卷 es-plugins 的位置
docker volume inspect es-plugins

显示结果:

[
    {
        "CreatedAt": "2022-02-14T23:53:10+08:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/es-plugins/_data",
        "Name": "es-plugins",
        "Options": {},
        "Scope": "local"
    }
]

说明容器的plugins目录被挂载到了:/var/lib/docker/volumes/es-plugins/_data这个目录中。

2)下载分词器安装包

IK分词器安装包(解压后):ik分词器安装包-7.12.1
在这里插入图片描述
3)上传到es插件的数据卷目录中

也就是上传到/var/lib/docker/volumes/es-plugins/_data目录中:

4)重启容器,查看日志看插件的加载情况

# 重启容器
docker restart es

# 查看es日志
docker logs -f es

5.4 拼音分词器

5.4.1 在线安装 拼音 分词器

按照下列命令操作:

# 1.进入容器
[root@VM-16-16-centos ~]# docker exec -it es /bin/bash
# 2.在线安装拼音分词器
[root@de4a182e3d26 elasticsearch]# ./bin/elasticsearch-plugin  install https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v7.12.1/elasticsearch-analysis-pinyin-7.12.1.zip
-> Installing https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v7.12.1/elasticsearch-analysis-pinyin-7.12.1.zip
-> Downloading https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v7.12.1/elasticsearch-analysis-pinyin-7.12.1.zip
[=================================================] 100%?? 
-> Installed analysis-pinyin
-> Please restart Elasticsearch to activate any plugins installed
# 3.退出容器
[root@de4a182e3d26 elasticsearch]# exit
exit
# 4.重启容器
[root@VM-16-16-centos ~]# docker restart es
es
[root@VM-16-16-centos ~]#

查看数据卷中的插件:(该数据卷之前安装es时创建的)

5.4.2 离线安装 拼音 分词器

参考上面的ik分词器的离线安装;
elasticsearch-analysis-pinyin-7.12.1.zip 安装包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值