基于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
相关推荐
Ai拆代码的曹操38 分钟前
K8s Pod Pending 逐层排查:从 FailedScheduling 到 PVC StorageClass 不存在的实战记录
java·linux·kubernetes
笨蛋不要掉眼泪1 小时前
MySQL架构揭秘:慢查询日志详解
数据库·mysql·架构
wangbing11252 小时前
JPA下自定义主键
java·linux·服务器
杨了个杨89822 小时前
Docker Compose 简介及应用
运维·docker·容器
豆瓣鸡2 小时前
XXL-JOB 定时任务——从 Docker 部署到分片广播,分布式任务调度落地
spring boot·分布式·docker·定时任务
bush42 小时前
正点原子imx6ull-uboot,奇怪的问题
linux·学习
dddwjzx2 小时前
嵌入式Linux C应用编程——Framebuffer应用编程
linux·嵌入式
️学习的小王3 小时前
MySQL 实战:从建表到索引管理的完整指南
数据库·mysql·oracle
Re_Virtual4 小时前
基于web的轻量级http测试工具——Restfox
http·docker·开源·restfox