一。docker安装mysql
# docker 中下载 mysql
docker pull mysql
#创建一个新的容器mysql
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
#如果已经创建了,运行容器,congtainerid是docker ps -a中的id
docker start containerid
#查看创建的容器
docker ps -a
#查看容器是否运行
docker ps -s
#进入容器
docker exec -it mysql bash
#登录mysql
mysql -u root -h 127.0.0.1 -p // 应该这样登录
#添加远程登录用户,直接用root账号登录也行。
CREATE USER 'yrzsp'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'yrzsp'@'%';
PS:如果容器配置错误,启动不了直接删掉容器,重新创建很方便
docker rm 容器名/容器ID
二。docker安装redis
1.获取redis镜像
docker pull redis
2.查看本地镜像
docker images
3.然后启动容器,做映射
①创建配置文件目录存放redis.conf,文件从官网下载。
②创建文件夹,新建配置文件贴入从官网下载的配置文件并修改
需要切换到root用户 sudo -i root
mkdir /usr/local/docker
vi /usr/local/docker/redis.conf
③修改启动默认配置(从上至下依次):
bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
protected-mode no #默认yes,开启保护模式,限制为本地访问
daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败
databases 16 #数据库个数(可选),我修改了这个只是查看是否生效。。
dir ./ #输入本地redis数据库存放文件夹(可选)
appendonly yes #redis持久化(可选)
4.docker启动redis命令
docker run -p 6379:6379 --name myredis -v /usr/local/docker/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
命令解释说明:
-p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。
--name myredis 指定该容器名称,查看和进行操作都比较方便。
-v 挂载目录,规则与端口映射相同。
为什么需要挂载目录:个人认为docker是个沙箱隔离级别的容器,这个是它的特点及安全机制,不能随便访问外部(主机)资源目录,所以需要这个挂载目录机制。
-d redis 表示后台启动redis
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf
--appendonly yes 开启redis 持久化
5.查看是否运行成功
docker ps 查看运行的容器
dockers logs myredis/27ddba64faa6 (容器名称/id) 查看启动日志
6.进入redis-cli
root@default:~# docker exec -it myredis bash
root@54a77201f4aa:/data# redis-cli
127.0.0.1:6379>
三。docker安装rabbitmq
1.获取镜像
#指定版本,该版本包含了web控制页面
docker pull rabbitmq:management
2.运行镜像
#方式一:默认guest 用户,密码也是 guest
docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management
#方式二:设置用户名和密码
docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password -p 15672:15672 -p 5672:5672 rabbitmq:management
3.访问页面
http://localhost:15672/
四。安装elasticsearch
1.安装es
1.1 下载镜像
docker pull elasticsearch:6.6.2
1.2 启动es
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:6.6.2
1.3 前台打开页面
http://192.168.31.211:9200/
看到下面的信息说明安装成功
{ "name" : "5ksQnCm", "cluster_name" : "docker-cluster", "cluster_uuid" : "Uz04iFnOTNaE2aK5v1roIQ", "version" : { "number" : "6.6.2", "build_flavor" : "default", "build_type" : "tar", "build_hash" : "3bd3e59", "build_date" : "2019-03-06T15:16:26.864148Z", "build_snapshot" : false, "lucene_version" : "7.6.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
2.修改配置解决跨域访问问题
首先进入到容器中,然后进入到指定目录修改elasticsearch.yml
文件。
docker exec -it elasticsearch /bin/bash cd /usr/share/elasticsearch/config/ vi elasticsearch.yml
在elasticsearch.yml的文件末尾加上:
http.cors.enabled: true http.cors.allow-origin: "*"
修改配置后重启容器即可。
docker restart elasticsearch
3. 安装ik分词器
es自带的分词器对中文分词不是很友好,所以我们下载开源的IK分词器来解决这个问题。首先进入到plugins目录中下载分词器,下载完成后然后解压,再重启es即可。具体步骤如下:
注意:elasticsearch的版本和ik分词器的版本需要保持一致,不然在重启的时候会失败。可以在这查看所有版本,选择合适自己版本的右键复制链接地址即可。点击这里
docker exec -it elasticsearch /bin/bash cd /usr/share/elasticsearch/plugins/ elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.6/elasticsearch-analysis-ik-6.6.2.zip exit docker restart elasticsearch
4.kibana安装
4.1下载镜像
docker pull kibana:6.6.2
4.2 安装
docker run --name kibana --link=elasticsearch:test -p 5601:5601 -d kibana:6.6.2
4.3 启动
docker start kibana