1. 安装docker
// 卸载docker旧版本 yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine // 安装yum-utils软件包 yum install -y yum-utils // 设置yum仓库 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo // 更新yum软件包索引 yum makecache fast // 安装最新版本的docekr yum install docker-ce docker-ce-cli containerd.io vim /etc/docker/daemon.json // 输入如下json格式内容,更好docker镜像源,如果报错,就手动创建目录,因为安装docker不是一定会生成这个目录 { "registry-mirrors": ["http://hub-mirror.c.163.com"] } // 刷新docker配置 systemctl restart docker.service // 设置开机自启 systemctl enable docker // 启动docker systemctl start docker // 查看docker版本 docker version // 查看当前状态 systemctl status docker
2. docker安装mysql并挂载
// 创建外部配置和数据安装目录 mkdir /docker/app/mysql57 mkdir /docker/app/mysql57/conf.d mkdir /docker/app/mysql57/data/
// 创建my.cnf配置文件,添加如下内容 vim /docker/app/mysql57/my.cnf [mysqld] user=mysql character-set-server=utf8 default_authentication_plugin=mysql_native_password secure_file_priv=/var/lib/mysql expire_logs_days=7 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION max_connections=1000 max_allowed_packet=1024M lower_case_table_names=0 [client] default-character-set=utf8 [mysql] default-character-set=utf8
// 拉去镜像 docker pull mysql:5.7 // 运行 docker run --restart=always --privileged=true -d -v /docker/app/mysql57/data/:/var/lib/mysql -v /docker/app/mysql57/conf.d:/etc/mysql/conf.d -v /docker/app/mysql57/my.cnf:/etc/mysql/my.cnf -p 3306:3306 --name mysql57 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
3.安装redis
mkdir -p /docker/app/redis/data mkdir -p /docker/app/redis/conf // 新增redis配置文件,也可以自己找一个改了代替 vim /docker/app/redis/conf/redis.conf protected-mode no appendonly yes #requirepass
docker pull redis // 运行 docker run -p 6379:6379 --name my_redis -v /docker/app/redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/app/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
4.配置elasticsearch
//docker 拉取 sudo docker pull elasticsearch:7.6.2 //创建持久化文件 mkdir -p /docker/app/elasticsearch/config mkdir -p /docker/app/elasticsearch/data //文件夹创建所有用户读写执行权限 chmod -R 777 /docker/app/elasticsearch/ //配置详情 echo "http.host: 0.0.0.0" >> /docker/app/elasticsearch/config/elasticsearch.yml //启动详情
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms84m -Xmx512m" -v /docker/app/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/app/elasticsearch/data:/usr/share/elasticsearch/data -v /docker/app/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.6.2
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms84m -Xmx512m" -v/docker/app/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/app/elasticsearch/data:/usr/share/elasticsearch/data -v /docker/app/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.6.2 -p 端口映射 -e discovery.type=single-node 单点模式启动 -e ES_JAVA_OPTS="-Xms84m -Xmx512m":设置启动占用的内存范围 -v 目录挂载 -d 后台运行 //查看启动详情 docker ps 查看是否启动 docker logs elasticsearch 启动日志查询 docker restart elasticsearch 重启 docker exec -it elasticsearch bash 进入
测试看是否能正常启动(服务器开发9200端口)
http://119.91.196.121:9200/
5. 安装Kibana
sudo mkdir -p /docker/app/kibana echo "server.host: 0.0.0.0" >> /docker/app/kibana/kibana.yml echo "elasticsearch.hosts: http://127.0.0.1:9200" >> /docker/app/kibana/kibana.yml #0.0.0.0 表示你的ip sudo docker run --name kibana -v /docker/app/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml -p 5601:5601 -d kibana:7.6.2
docker logs kibana #查看kibana日志
测试启动页:http://ydd.xinhaicapital.com:5601/app/kibana#/home
注意: 若出现 Kibana server is not ready yet 检查kibana配置的ip是否是你es的ip,若没问题检查服务器端口,9200、9300、5601 都要开放
6、docker常用命令
docker ps -a #查看容器详情
docker ps #查看启动详情
docker rm xxx #跟具容器Id (CONTAINER ID)删除容器
docker stop xxx #跟具容器Id (CONTAINER ID)停止容器运行
docker start xxx #跟具容器Id (CONTAINER ID)启动容器运行
结束。