Docker
安装yum-utils
yum install -y yum-utils device-mapper-persistent-data lvm2
安装docker
yum install docker-ce
启动docker
systemctl start docker
下载MySQL5.7的docker镜像
docker pull mysql:5.7
使用如下命令启动MySQL服务
docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7
参数说明
-p 3306:3306:将容器的3306端口映射到主机的3306端口 -v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂在到主机 -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机 -v /mydata/mysql/data:/var/lib/mysql/:将数据文件夹挂载到主机 -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码
进入运行MySQL的docker容器
docker exec -it mysql /bin/bash
使用MySQL命令打开客户端
mysql -uroot -proot --default-character-set=utf8
创建mall数据库
create database mall character set utf8
安装上传下载插件,并将document/sql/mall.sql上传到Linux服务器上
yum -y install lrzsz
将mall.sql文件拷贝到mysql容器的/目录下
docker cp /mydata/mall.sql mysql:/
将sql文件导入到数据库
use mall;
source /mall.sql;
创建一个reader:123456帐号并修改权限,使得任何ip都能访问
grant all privileges on *.* to 'reader' @'%' identified by '123456';
docker pull redis:5
使用如下命令启动Redis服务
docker run -p 6379:6379 --name redis \ -v /mydata/redis/data:/data \ -d redis:5 redis-server --appendonly yes
进入Redis容器使用redis-cli命令进行连接
docker exec -it redis redis-cli

Nginx安装
下载Nginx1.10的docker镜像
docker pull nginx:1.10
先运行一次容器(为了拷贝配置文件)
docker run -p 80:80 --name nginx \ -v /mydata/nginx/html:/usr/share/nginx/html \ -v /mydata/nginx/logs:/var/log/nginx \ -d nginx:1.10
将容器内的配置文件拷贝到指定目录
docker container cp nginx:/etc/nginx /mydata/nginx/
修改文件名称
mv nginx conf
终止并删除容器
docker stop nginx
docker rm nginx
使用如下命令启动Nginx服务
docker run -p 80:80 --name nginx \ -v /mydata/nginx/html:/usr/share/nginx/html \ -v /mydata/nginx/logs:/var/log/nginx \ -v /mydata/nginx/conf:/etc/nginx \ -d nginx:1.10
RabbitMQ安装
docker pull rabbitmq:3.7.15
使用如下命令启动RabbitMQ服务
docker run -p 5672:5672 -p 15672:15672 --name rabbitmq \
-d rabbitmq:3.7.15
进入容器并开启管理功能
docker exec -it rabbitmq /bin/bash
rabbitmq-plugins enable rabbitmq_management

开启防火墙
firewall-cmd --zone=public --add-port=15672/tcp --permanent firewall-cmd --reload
访问地址查看是否安装成功:http://192.168.3.101:15672

输入账号密码并登录:guest guest
创建帐号并设置其角色为管理员:mall mall

创建一个新的虚拟host为:/mall

点击mall用户进入用户配置页面

给mall用户配置该虚拟host的权限

Elasticsearch安装
下载Elasticsearch7.6.2的docker镜像
docker pull elasticsearch:7.6.2
修改虚拟内存区域大小,否则会因为过小而无法启动
sysctl -w vm.max_map_count=262144
使用如下命令启动Elasticsearch服务
docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \ -e "discovery.type=single-node" \ -e "cluster.name=elasticsearch" \ -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \ -d elasticsearch:7.6.2
启动时会发现/usr/share/elasticsearch/data目录没有访问权限,只需要修改/mydata/elasticsearch/data目录的权限,再重新启动即可
chmod 777 /mydata/elasticsearch/data/
安装中文分词器IKAnalyzer,并重新启动
docker exec -it elasticsearch /bin/bash
开启防火墙: firewall-cmd --zone=public --add-port=9200/tcp --permanent firewall-cmd --reload 访问会返回版本信息:http://192.168.3.101:9200

Logstash安装
下载Logstash7.6.2的docker镜像
docker pull logstash:7.6.2
修改Logstash的配置文件logstash.conf中output节点下的Elasticsearch连接地址为es:9200,配置文件地址:/document/elk/logstash.conf
output { elasticsearch { hosts => "es:9200" index => "mall-%{type}-%{+YYYY.MM.dd}" } }
创建/mydata/logstash目录,并将Logstash的配置文件logstash.conf拷贝到该目录
mkdir /mydata/logstash
使用如下命令启动Logstash服务
docker run --name logstash -p 4560:4560 -p 4561:4561 -p 4562:4562 -p 4563:4563 \ --link elasticsearch:es \ -v /mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \ -d logstash:7.6.2
进入容器内部,安装json_lines插件
docker exec -it logstash /bin/bash 进入容器内部
logstash-plugin install logstash-codec-json_lines
下载Kibana7.6.2的docker镜像
docker pull kibana:7.6.2
使用如下命令启动Kibana服务
docker run --name kibana -p 5601:5601 \ --link elasticsearch:es \ -e "elasticsearch.hosts=http://es:9200" \ -d kibana:7.6.2
开启防火墙: firewall-cmd --zone=public --add-port=5601/tcp --permanent firewall-cmd --reload 访问地址进行测试:http://192.168.3.101:5601

Kibana设置中文
# 进入kibana容器 [root@node1 ~]# docker exec -it kibana /bin/bash #用find指令查找kibana.yml文件的所在路径 bash-4.2$ find / -name kibana.yml find: '/proc/tty/driver': Permission denied find: '/root': Permission denied find: '/run/cryptsetup': Permission denied /usr/share/kibana/config/kibana.yml # 就是这个路径了 find: '/var/cache/ldconfig': Permission denied find: '/var/lib/machines': Permission denied find: '/var/lib/yum/history/2019-10-01/1': Permission denied find: '/var/lib/yum/history/2019-10-01/2': Permission denied find: '/var/lib/yum/history/2019-10-01/3': Permission denied find: '/var/lib/yum/history/2019-10-01/4': Permission denied bash-4.2$ vi /usr/share/kibana/config/kibana.yml # 到末行添加以下内容: i18n.locale: "zh-CN" # 添加完后保存退出
bash-4.2$ exit
[root@node1 ~]# docker restart kibana
MongoDB安装
下载MongoDB4.2.5的docker镜像
docker pull mongo:4.2.5
使用docker命令启动
docker run -p 27017:27017 --name mongo \ -v /mydata/mongo/db:/data/db \ -d mongo:4.2.5


浙公网安备 33010602011771号