基于docker安装MySQL、RabbitMQ、ElasticSearch、minio

MySQL

拉取镜像

复制代码
docker pull mysql:5.7

进入到/usr/mysql/conf目录下

复制代码
cd /usr/mysql/conf

创建文件

复制代码
vi my.cnf

插入以下内容

复制代码
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8

保存退出

在该目录(/usr/mysql/conf)下创建两个文件夹,在启动容器时会用到

复制代码
mkdir conf.d mysql.conf.d

运行MySQL

复制代码
docker run -d -p 3307:3306 --name mysql -v /usr/mysql/log:/var/log/mysql  -v /usr/mysql/data:/var/lib/mysql  -v /usr/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7

上述命令的含义:
docker run:在docker中启动一个容器实例
-d:该容器在后台运行
-p 3307:3306:容器与主机映射端口为, 3307(主机端口,即外部连接mysql使用的端口号): 3306(容器端口)
--name mysql:容器运行后的名称
-v /usr/mysql/log:/var/log/mysql:将容器/var/log/mysql目录下的数据,备份到主机的 /usr/mysql/log目录下
-v /usr/mysql/data:/var/lib/mysql:将容器/var/lib/mysql目录下的数据,备份到主机的 /usr/mysql/data目录下
-v /usr/mysql/conf:/etc/mysql:将容器/etc/mysql目录下的数据,备份到主机的 /usr/mysql/conf目录下
-e MYSQL_ROOT_PASSWORD=root:设置当前mysql实例的密码为root
mysql:5.7:需要运行的容器名称以及版本号

开放端口

复制代码
firewall-cmd --zone=public --add-port=3307/tcp --permanent
systemctl restart firewalld.service

在Windows中通过通过Navicat或者小海豚连接数据库看是否能连接成功

完...

RabbitMQ

拉取镜像

复制代码
docker pull rabbitmq

启动容器

复制代码
docker run -d -p 5672:5672 -p 15672:15672 --name rabbit rabbitmq

进入容器

复制代码
docker exec -it rabbit bash

创建管理员账号

复制代码
rabbitmqctl add_user admin admin
rabbitmqctl set_user_tags admin administrator


安装web支持

复制代码
rabbitmq-plugins enable rabbitmq_management

退出容器

复制代码
exit

开放端口

复制代码
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --zone=public --add-port=15672/tcp --permanent
sudo service firewalld restart

Windows浏览器访问rabbitmq

安装延迟插件

将延迟插件上传到Linux任意目录下

将插件拷贝到容器的plugins目录下

复制代码
docker cp rabbitmq_delayed_message_exchange-3.9.0.ez rabbit:/plugins

进入容器

复制代码
docker exec -it rabbit bash

进入plugins目录

执行安装插件

复制代码
rabbitmq-plugins enable rabbitmq_delayed_message_exchange

查看安装好的插件

复制代码
rabbitmq-plugins list

ElasticSearch

拉取镜像

复制代码
docker pull elasticsearch:7.7.0

运行容器

复制代码
docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0

开启Linux的9200端口

复制代码
firewall-cmd --zone=public --add-port=9200/tcp --permanent
systemctl restart firewalld.service

Windows浏览器上访问虚拟机9200端口,得到以下返回信息表示安装成功

安装IK分词器

elasticsearch-analysis-ik-7.7.0.zip上传到Linux任意位置

将压缩包复制到容器中的插件目录中

复制代码
docker cp elasticsearch-analysis-ik-7.7.0.zip elasticsearch:/usr/share/elasticsearch/plugins

进入到ElasticSearch容器中

复制代码
docker exec -it 容器ID bash

然后再进入到plugins目录中可以看到IK压缩包

在该目录下创建一个新目录,取名为ik

将elasticsearch-analysis-ik-7.7.0.zip解压到ik目录中

复制代码
unzip elasticsearch-analysis-ik-7.7.0.zip -d ik

删除elasticsearch-analysis-ik-7.7.0.zip压缩包

复制代码
rm -f elasticsearch-analysis-ik-7.7.0.zip

退出容器

复制代码
exit

最后再重新启动elasticsearch容器就行了

复制代码
docker restart elasticsearch

安装kibana

拉取镜像

复制代码
docker pull kibana:7.7.0

启动容器

复制代码
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://自己的elasticsearchIP地址:9200 -p 5601:5601 -d kibana:7.7.0

进入kibana容器

复制代码
docker exec -it kibana bash

进入容器中找到/usr/share/kibana/config/kibana.yml

复制代码
vi /usr/share/kibana/config/kibana.yml

将如下内容写到kibana.yml中,然后保存退出::wq

复制代码
# 指定ES的ip地址和端口号
elasticsearch.hosts: [ "http://192.168.174.130:9200" ]
# 中文显示
i18n.locale: zh-CN

退出容器再重启

复制代码
exit

docker restart kibana

开启Linux5601端口

复制代码
firewall-cmd --zone=public --add-port=5601/tcp --permanent
systemctl restart firewalld.service

在Windows的浏览器访问kibana

minio

1.拉取minio镜像
复制代码
docker pull minio/minio
2.启动minio服务
复制代码
docker run -p 9090:9000 -p 9001:9001 --name minio \
-v /mydata/minio/data:/data \
-e MINIO_ROOT_USER=minioadmin \
-e MINIO_ROOT_PASSWORD=minioadmin \
-d minio/minio server /data --console-address ":9001"
3.访问minio页面
复制代码
运行成功后就可访问MinIO Console的管理界面了,
账号:minioadmin
密码:minioadmin
例如: http://192.168.137.129:9090
相关推荐
Mahir087 小时前
Redis 与 MySQL 数据同步:一致性保证的完整解决方案
数据库·redis·mysql·缓存·面试·数据一致性
夏日听雨眠7 小时前
LInux(逻辑地址与物理地址的区别,文件描述符,lseek函数)
linux·运维·网络
·醉挽清风·8 小时前
学习笔记—MySQL—库表操作
笔记·学习·mysql
qq_542515419 小时前
Ubuntu 22.04.4 LTS安装ToDesk最新版打不开,无响应?旧版本4.7.2_277版本分享
linux·ubuntu·todesk
火车叼位9 小时前
替代 Tiny Win10 的 Linux 方案:Debian XFCE 精简桌面搭建
linux·运维
数据库小学妹9 小时前
数据库连接池避坑指南:告别“连接超时”与“资源耗尽”,让系统跑得更快!
数据库·redis·sql·mysql·缓存·dba
小麦嵌入式9 小时前
FPGA入门(四):时序逻辑计数器原理与 LED 闪烁实现
linux·驱动开发·stm32·嵌入式硬件·fpga开发·硬件工程·dsp开发
前进的李工10 小时前
EXPLAIN输出格式全解析:JSON、TREE与可视化
开发语言·数据库·mysql·性能优化·explain
达梦产品与服务10 小时前
稳扎稳打,持续迭代 | SQLark V3.10 更新,30+ 项优化与修复
mysql·oracle·达梦数据库·pg·sqlark百灵连接
皮卡蛋炒饭.10 小时前
传输层协议UDP
linux·网络协议·udp