一文搞定Docker安装常用软件再也不用到处找了!!!【二】
作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库、技术互助。
作者主页:编程指南针
作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师
主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库、技术互助
收藏点赞不迷路 关注作者有好处
文末获取源码
一、安装redis
用于在springboot 集成 redis的使用方式上,使用java代码的方式操作redis。
使用redis的客户端连接redis,查看数据
-
拉取redis镜像
docker pull redis:6.2.1
-
使用镜像创建docker容器
docker run -p 6379:6379 --name redis -v /usr/local/mydata/redis/conf/redis.conf:/etc/redis/redis.conf -v /usr/local/mydata/redis/data:/data -d redis:6.2.1 redis-server /etc/redis/redis.conf --appendonly yes
- 进入容器,使用客户端连接redis服务器
二、安装Elasticsearch
2.1 下载与安装Elasticsearch
-
下载Elasticsearch
docker pull elasticsearch:7.4.2
-
创建配置文件目录
mkdir -p /mydata/elasticsearch/config
-
创建数据目录
mkdir -p /mydata/elasticsearch/data
-
将/mydata/elasticsearch/文件夹中文件都可读可写
chmod -R 777 /mydata/elasticsearch/
-
配置任意机器可以访问 elasticsearch
echo "http.host: 0.0.0.0" >/usr/local/mydata/es/config/elasticsearch.yml
-
启动Elasticsearch
命令后面的 \是换行符,注意前面有空格
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms64m -Xmx512m" \ -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \ -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -d elasticsearch:7.4.2
-
-p 9200:9200 -p 9300:9300
:向外暴露两个端口,9200用于HTTP REST API请求,9300 ES 在分布式集群状态下 ES 之间的通信端口; -
-e "discovery.type=single-node"
:es 以单节点运行 -
-e ES_JAVA_OPTS="-Xms64m -Xmx512m"
:设置启动占用内存,不设置可能会占用当前系统所有内存 -
-v:挂载容器中的配置文件、数据文件、插件数据到本机的文件夹;
-
-d elasticsearch:7.6.2
:指定要启动的镜像
-
-
访问 IP:9200 看到返回的 json 数据说明启动成功。
-
设置 Elasticsearch 随Docker启动
# 当前 Docker 开机自启,所以 ES 现在也是开机自启 docker update elasticsearch --restart=always
2.2 Docker安装Kibana
-
下载Kibana
# 可视化检索数据 docker pull kibana:7.4.2
-
启动可视化Kibana
docker run --name kibana \
-e ELASTICSEARCH_HOSTS=http://192.168.6.145:9200 \
-e "I18N_LOCALE=zh-CN" \
-p 5601:5601 \
-d --restart=always kibana:7.4.2
-e ELASTICSEARCH_HOSTS=``http://ip:9200
: 这里要设置成自己的虚拟机IP地址
-
设置 Kibana 随Docker启动
# 当前 Docker 开机自启,所以 kibana 现在也是开机自启
docker update kibana --restart=always
2.3 安装IK分词器
事前准备:
IK 分词器属于 Elasticsearch 的插件,所以 IK 分词器的安装目录是 Elasticsearch 的 plugins 目录,在我们使用Docker启动 Elasticsearch 时,已经将该目录挂载到主机的
/mydata/elasticsearch/plugins
目录。IK 分词器的版本需要跟 Elasticsearch 的版本对应,当前选择的版本为
7.4.2
,下载地址为:Github Release 或访问:镜像地址
-
下载IK
# 进入挂载的插件目录 /mydata/elasticsearch/plugins cd /mydata/elasticsearch/plugins # 安装 wget 下载工具 yum install -y wget # 下载对应版本的 IK 分词器(这里是7.4.2) wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip
这里已经在挂载的 plugins 目录安装好了 IK分词器。现在我们进入到 es 容器内部检查是否成功安装
# 进入容器内部
docker exec -it elasticsearch /bin/bash
# 查看 es 插件目录
ls /usr/share/elasticsearch/plugins
# 可以看到 elasticsearch-analysis-ik-7.4.2.zip
所以我们接下来的操作只需要在挂载的目录/mydata/elasticsearch/plugins
下进行操作即可。
-
解压IK
# 进入到 es 的插件目录 cd /mydata/elasticsearch/plugins # 解压到 plugins 目录下的 ik 目录 unzip elasticsearch-analysis-ik-7.4.2.zip -d ik # 删除下载的压缩包 rm -f elasticsearch-analysis-ik-7.4.2.zip # 修改文件夹访问权限 chmod -R 777 ik/
-
查看安装的ik插件
# 进入 es 容器内部 docker exec -it elasticsearch /bin/bash # 进入 es bin 目录 cd /usr/share/elasticsearch/bin # 执行查看命令 显示 ik elasticsearch-plugin list # 退出容器 exit # 重启 Elasticsearch docker restart elasticsearch
重启可能会遇到的错误:
Error response from daemon: driver failed programming external connectivity on endpoint elasticsearch (0cf6a38895d321cc793f1f26ebef2335b902328116db2cd01a50601090ff2d07): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9300 -j DNAT --to-destination 172.17.0.6:9300 ! -i docker0: iptables: No chain/target/match by that name.
解决:重启docker: systemctl restart docker
三、Docker 安装部署RabbitMQ
如果手动在linux上安装mq需要三步:
第一,安装erlang
第二,安装rabbitmq
第三,安装rabbitmq management服务。
docker镜像是一个打包环境(erlang+rabbitmq+management),使用镜像可以一键安装。
3.3.1 获取镜像
我们需要rabbitmq服务器,同时还需要一个rabbitmq management的管理和监控服务。
#指定版本,该版本包含了web控制页面
docker pull rabbitmq:management
3.2 通过镜像创建容器
#默认guest 用户,密码也是 guest
#15672是监控服务网站的端口(类似es的kibana)
#5672是客户端连接rabbit服务器的端口(我们Java中使用这个)
docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management
#最新版本
docker run -itd --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.9-management
3.3 控制台使用
-
浏览器中输入:http://你的ip:15672
- 输入账户,这里的用户名和密码默认都是guest
-
创建用户
-
1、 超级管理员(administrator)
可登录管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。
-
2、监控者(monitoring)
可登录管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
-
3、策略制定者(policymaker)
可登录管理控制台, 同时可以对policy进行管理。但无法查看节点的相关信息。
-
4、普通管理者(management)
仅可登录管理控制台,无法看到节点信息,也无法对策略进行管理。
-
5、 其他
无法登录管理控制台,通常就是普通的生产者和消费者。
-
设置权限
四,相关作品展示
基于Java开发、Python开发、PHP开发、C#开发等相关语言开发的实战项目
基于Nodejs、Vue等前端技术开发的前端实战项目
基于微信小程序和安卓APP应用开发的相关作品
基于51单片机等嵌入式物联网开发应用
基于各类算法实现的AI智能应用
基于大数据实现的各类数据管理和推荐系统

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)