基于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实例的密码为rootmysql: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 restartWindows浏览器访问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 listElasticSearch
拉取镜像
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.serviceWindows浏览器上访问虚拟机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退出容器再重启
exitdocker restart kibana开启Linux5601端口
firewall-cmd --zone=public --add-port=5601/tcp --permanent systemctl restart firewalld.service在Windows的浏览器访问kibana
minio
1.拉取minio镜像
docker pull minio/minio2.启动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