防火墙
1、查看防火墙状态
sudo systemctl status ufw
2、开启防火墙
sudo systemctl start ufw
3、关闭防火墙
sudo systemctl stop ufw
4、开机禁止开启防火墙
sudo systemctl disabled ufw
5、开启自启防火墙
sudo systemctl enabled ufw
Elasticsearch
1、安装指定版本 比如 8.2.0
docker pull elasticsearch:8.2.0
2、查看是否拉取成功
docker images
3、选择挂载硬盘创建四个目录,并设置目录权限为可读写。
mkdir es_docker
cd es_docker
mkdir config data logs plugins
chmod -R 777 config data logs plugins
4、先启动一个简单的容器
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:8.2.0
这里记录一下进入容器的方式
先查看正在运行的容器id。再docker exec -it <container_id> /bin/bash。输入exit即可退出容器
5、将容器里的config文件夹的东西拷贝到宿主机上。
sudo docker cp elasticsearch:/usr/share/elasticsearch/config /home/niooooo/es_docker
6、删除临时容器
docker stop elasticsearch
docker rm -f elasticsearch
7、修改elasticsearch.yml文件
关闭xpack认证机制(无需账号密码登陆)、关闭SSL认证。
8、构建容器命令
docker run --name es --privileged=true -p 9300:9300 -p 9200:9200 -e ES_JAVA_OPTS="-Xmx512m -Xmx512m" -e "discovery.type=single-node" -v /home/niooooo/es_docker/config:/usr/share/elasticsearch/config -v /home/niooooo/es_docker/data:/usr/share/elasticsearch/data -v /home/niooooo/es_docker/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:8.2.0
# 分行就是长这样 但需要copy上面到虚拟机中
docker run --name es --privileged=true -p 9300:9300 -p 9200:9200
-e ES_JAVA_OPTS="-Xmx512m -Xmx512m"
-e "discovery.type=single-node"
-v /home/niooooo/es_docker/config:/usr/share/elasticsearch/config
-v /home/niooooo/es_docker/data:/usr/share/elasticsearch/data
-v /home/niooooo/es_docker/plugins:/usr/share/elasticsearch/plugins
-d elasticsearch:8.2.0
9、使用docker ps -a检查es是否正常启动 并且启动es容器,然后使用docker logs来查看该容器的日志。
如果docker ps没有输出内容,而docker ps -a输出内容,表明:
- Elasticsearch 容器没有输出任何日志信息。
- Elasticsearch 容器没有正确启动。
- Elasticsearch 容器的日志输出被重定向到了其他地方。
- 于是需要docker start es启动一下容器
docker ps
docker ps -a
docker start <container_id>
docker ps
下面是关于观看启动日志。
docker logs es
以上是无需账号密码的情况下的Elasticsearch的配置。接下来我就需要做一下关于要账号密码登陆的笔记。首先进入先前创建好的 es_docker/config/elasticsearch.yml中进行修改
该好后需要重启这个容器
docker stop es
docker rm es
docker run --name es --privileged=true -p 9300:9300 -p 9200:9200 -e ES_JAVA_OPTS="-Xmx512m -Xmx512m" -e "discovery.type=single-node" -v /home/niooooo/es_docker/config:/usr/share/elasticsearch/config -v /home/niooooo/es_docker/data:/usr/share/elasticsearch/data -v /home/niooooo/es_docker/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:8.2.0
进入容器中的bin下设置账号密码
需要注意的时,进去后需要12次密码,其中6次设置6次确认。默认账号是elastic。
参考文献:es设置账号密码及重制密码 --- 2022-07-01 - 简书
./elasticsearch-setup-passwords interactive
10、卸载镜像
获取其容器id删除