目录
安装docker
Docker安装文档: https://docs.docker.com/install/linux/docker-ce/centos
Docker镜像:https://hub.docker.com/search?q=&type=image
1、卸载
#sudo以管理员运行
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、安装所依赖的包环境
sudo yum install -y yum-utils
3、设置docker安装地址
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
4、安装docker
sudo yum install docker-ce docker-ce-cli containerd.io
5、启动docker
sudo systemctl start docker
6、检查,可用docker -v 查看版本
#查看下载哪些镜像
docker images
7、设置开机自动启动docker
sudo systemctl enable docker
8、配置镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://z0ejvr9b.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
#查看运行的容器
docker ps
#查询所用docker容器
docker ps -a
docker安装mysql
#从镜像下载mysql5.7版本
sudo docker pull mysql:5.7
查看下载好的镜像
#切换到root用户
su root
#vagrant密码默认是vagrant
#安装mysql,docker每run一下就启动一个容器
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
#参数说明
--name mysql #起名字
-p 3306:3306 #将容器的3306端口映射到主机的3306端口
-v /mydata/mysql/conf:/etc/mysql\ #将配置文件夹挂载到主机,将容器内部文件映射到外部Linux
-v /mydata/mysql/log:/var/log/mysql\ #将日志文件挂载到主机
-v /mydata/mysql/data:/var/lib/mysql\ 将数据文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root\ #初始化root用户密码
-d mysql:5.7 #运行
测试:
#访问容器内部 可根据id或name
docker exec -it mysql /bin/bash
#退出
exit
#修改mysql字符集,执行命令后按i进入编辑模式
vi /mydata/mysql/conf/my.cnf
[mysqld]
character-set-server=utf8
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
#写完后按Esc然后输入:wq保存并退出编辑
#重启
docker restart mysql
docker安装redis
#从镜像下载最新版本redis
sudo docker pull redis
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
#安装redis
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/redis \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
#连接redis客户端
docker exec -it redis redis-cli
#持久化redis
vi /mydata/redis/conf/redis.conf
#新增配置
appendonly yes
#重启redis
docker restart redis
#查看当前正在运行的容器
docker ps
#对于已退出的容器,可以使用如下命令进行查看
docker ps -a
#查看已经下载的镜像
docker imges
#删除docker中的容器可以使用如下命令:
docker rm 容器id
#删除docker中的镜像,我们可以使用如下命令:
docker rmi 镜像id
docker安装elasticsearch
#存储和检索数据
docker pull elasticsearch:6.8.6
#可视化检索数据
docker pull kibana:6.8.6
#安装
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
#允许任意地址访问
echo "http.host:0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml
#安装
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:6.8.6
#上述操作完成后发现启动失败
vi /mydata/elasticsearch/config/elasticsearch.yml
#添加
network.host: 0.0.0.0
http.port: 9200
#-R是循环 给文件赋权
chmod -R 777 /mydata/elasticsearch/
#查看日志
docker logs elasticsearch
ES启动不起来,查看日志发现报错 OpenJDK 64-Bit Server VM warning: UseAVX=2 is not supported on this CPU, setting it to UseAVX=1
##查找jvm.options文件
find / -name jvm.options
/var/lib/docker/overlay2/f1d1c655b6fd01b069edcd7363a368d4b6020616d75975d90dec00ada1e75da4/diff/usr/share/elasticsearch/config/jvm.options
[root@sit-jm-vcsms ~]# vi /var/lib/docker/overlay2/f1d1c655b6fd01b069edcd7363a368d4b6020616d75975d90dec00ada1e75da4/diff/usr/share/elasticsearch/config/jvm.options
将-Xms设置为-Xms128m,重启ES即可
-Xms128m
-Xmx128m
UseAVX=1
#重启服务
docker restart elasticsearch
docker安装kibana
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.179.134:9200 -p 5601:5601 \
-d kibana:6.8.6
用docker logs kibana 查看日志信息,发现报错
“Unable to revive connection: http://elasticsearch:9200/”}
查看容器的id
docker images
使用docker命令进入容器
docker exec -it 容器名称 /bin/bash
修改elasticsearch.hosts的地址, 改成es的ip
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://192.168.179.134:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
上述操作试了一遍发现还是无法访问kibana
后来参考博文 https://www.cnblogs.com/wwjj4811/p/13832022.html解决了。
虚拟机kibana访问elasticsearch
停止并删除kibana、elasticsearch容器
#设置虚拟机docker的网络
docker network create --subnet=172.18.0.0/16 mynetwork
#启动容器
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
--net mynetwork --ip 172.18.0.2 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:6.8.6
#查看elasticsearch 在docker的网络
docker inspect elasticsearch | grep IPAddress
#重新运行kibana
docker run --name kibana --net mynetwork -e ELASTICSEARCH_HOSTS=http://172.18.0.2:9200 -p 5601:5601 -d kibana:6.8.6
访问:http://192.168.179.134:5601/
设置自动启动
安装ik分词器
进入elasticseaerch安装目录下
cd /mydata/elasticsearch/plugins
#新建文件夹
mkdir ik
#下载分词器 版本得保持一致
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.6/elasticsearch-analysis-ik-6.8.6.zip
#安装解压
yum install -y unzip zip
#解压
unzip elasticsearch-analysis-ik-6.8.6.zip
cd ../
chmod -R 777 ik/
#重启
docker restart elasticsearch
安装nginx
cd /mydata/
mkdir nginx
#启动容器 发现没有镜像会自己下载
docker run -p 80:80 --name nginx -d nginx:1.10
#将容器内配置文件拷贝到当前目录 nginx容器名称
docker container cp nginx:/etc/nginx .
#停止
docker stop nginx
#删除
docker rm nginx
#重命名
mv nginx conf
#新建
mkdir nginx
#移动
mv conf nginx/
#上述操作是为了将配置文件
#创建新的nginx
docker run -p 80:80 --name nginx \
--net mynetwork --ip 172.18.0.3 \
-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
#进入nginx 下的html目录下
cd html/
#新建页面编写hello 保存后访问
vi index.html
在html目录下新建es目录,并在目录下新建fenci.txt,输入内容:乔碧落
修改elasticsearch分词配置
cd /mydata/elasticsearch/plugins/ik/config/
#修改IKAnalyzer.cfg.xml
vi IKAnalyzer.cfg.xml
将词库地址修改成自己的词库地址
重启elasticsearch
后来发现elasticsearch内存不够,删除重新启动新的容器分配了512m,nginx要配置docker的网络172.18.0.3
用kibana测试分词
配置git
#配置用户名
git config --global user.name "18895734575"
#配置邮箱
git config --global user.email "1445720842@qq.com"
#设置ssh免密登录
#进入git bash 邮箱地址 连续三次回车
ssh-keygen -t rsa -C "1445720842@qq.com"
#或者cat ~/.ssh/id_rsa.pub
#登录进入gitee ,在设置里面找到SSH KEY将.pub文件的内容粘贴进去
#使用下面命令测试,然后输入yes
ssh -T git@gitee.com
#docker设置自动启动
sudo docker update redis --restart=always
sudo docker update mysql --restart=always
新建一个仓库
idea安装gitee插件
添加忽略版本控制文件
聚合项目