云盘算-ubuntu24.04-Docker-安装-ElasticSearch
YDOOK-Jinwei Lin平台:腾讯云-轻量应用服务器-ubuntu24.04 LTS
Docker查看已有全部镜像:
docker images -a https://i-blog.csdnimg.cn/direct/030abe16d087458f856c4a9a31fd5fbe.png
拉取对应版本的Elasticsearch镜像:
sudo docker pull docker.elastic.co/elasticsearch/elasticsearch:8.16.1
https://i-blog.csdnimg.cn/direct/5a7f2fdd7d5845aa82adcb5c24cc8e6b.png
https://i-blog.csdnimg.cn/direct/429ea5446edf49fd90c12fdf2dc42641.png
Docker查看已有全部镜像:
https://i-blog.csdnimg.cn/direct/76396e69670b44bea385866934726d81.png
查看当前目录:
https://i-blog.csdnimg.cn/direct/95b714adfcc1402f8012f9b601435b34.png
在根目录 / 下面,创建一个用于持久化存储Elasticsearch数据的目录:
sudo mkdir -p /data/elasticsearch https://i-blog.csdnimg.cn/direct/84a7634cf03d4f26ae0f85c13b370d60.png
修改该目录的全部者:
sudo chown 1000:1000 /data/elasticsearch # 更改所有者为默认的elasticsearch用户 通过 ls -l 命令查看目录权限与全部者(用户):
https://i-blog.csdnimg.cn/direct/054c3f4a1d5741c1b05100acf971f9dd.png
drwxr-xr-x 是一个表示文件权限和范例的字符串,由10个字符组成,分为四个部分:
[*] 文件范例(第1个字符):
d 表示这是一个目录(directory)。假如是平凡文件,则会体现为 -,其他特殊范例的文件大概用其他字符表示,比方 l 表示符号链接(symbolic link),c 表示字符装备文件(character device),b 表示块装备文件(block device)等。
[*] 全部者的权限(接下来的3个字符):
rwx 表示文件全部者拥有读取(read)、写入(write)和执行(execute)的权限。在这个例子中,全部者可以读、写和进入这个目录。
[*] 所属组的权限(再接下来的3个字符):
r-x 表示与文件所属组关联的用户拥有读取和执行的权限,但没有写入权限。这意味着这些用户可以读取目录内容和进入该目录,但不能修改或删除该目录中的文件。
[*] 其他人的权限(最后的3个字符):
r-x 表示对于既不是文件全部者也不属于文件所属组的其他全部用户,他们也拥有读取和执行的权限,同样没有写入权限。
总结,drwxr-xr-x 表示这是一个目录,全部者有完全控制权(读、写、执行),而同组用户和其他用户只能读取和执行(即可以查看目录内容和进入目录,但不能创建、删除或重定名文件)。这种权限设置通常用于公共可读但受保护免于随意更改的目录。
定义 Elasticsearch容器并启动:有三种方式:
1. 正常启动,不自动运行:
sudo docker run -d --name elasticsearch \
-v /data/elasticsearch:/usr/share/elasticsearch/data \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
docker.elastic.co/elasticsearch/elasticsearch:8.16.1 初次启动Elasticsearch容器时,可以指定一个重启战略,这样纵然服务器重启,Docker也会根据这个战略重新启动容器。对于Elasticsearch,保举使用always或unless-stopped的重启战略。
[*]always: 无论容器退出状态怎样,Docker都会实验重启容器。
[*]unless-stopped: Docker会重启容器,除非容器被手动停止。
2. unless-stopped启动:
sudo docker run -d --name elasticsearch \
--restart unless-stopped \
-v /data/elasticsearch:/usr/share/elasticsearch/data \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
docker.elastic.co/elasticsearch/elasticsearch:8.16.1
3. always启动:
sudo docker run -d --name elasticsearch \
--restart always \
-v /data/elasticsearch:/usr/share/elasticsearch/data \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
docker.elastic.co/elasticsearch/elasticsearch:8.16.1
[*]--restart always 确保容器无论任何缘故原由停止后都会被重新启动。
[*]-v /data/elasticsearch:/usr/share/elasticsearch/data 将宿主机的目录挂载到容器内的Elasticsearch数据目录,以便于数据持久化。
[*]-p 9200:9200 -p 9300:9300 映射容器内部端口到宿主机端口,分别对应REST API和节点间通讯端口。
[*]-e "discovery.type=single-node" 设置单节点集群模式,适用于测试环境。
运行效果:
https://i-blog.csdnimg.cn/direct/46e62fb81192403ca61fa089010c7e9a.png
https://i-blog.csdnimg.cn/direct/e261bfd9aded4396b8b92fb7a7d63f2a.png
为了方便,最好使用下面代码运行:
sudo docker run -d --name elasticsearch \
--restart always \
-v /data/elasticsearch:/usr/share/elasticsearch \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
docker.elastic.co/elasticsearch/elasticsearch:8.16.1 即,映射容器的整个elasticsearch目录到宿主机/data/elasticsearch中,方便团体配置。
Docker 本身提供了对容器级别的资源限定,包括内存限定。可以通过 --memory 参数举行配置。要限定整个容器使用的内存量(不仅仅是 JVM 堆),可以接纳下面代码:
sudo docker run -d --name elasticsearch \
--restart always \
--memory="2g" \
-v /data/elasticsearch:/usr/share/elasticsearch \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
docker.elastic.co/elasticsearch/elasticsearch:8.16.1 注:--memory="2g" \ # 限定整个容器的最大内存使用量为2GB。
可以定义多个 -v 选项来挂载多个卷(volumes)。每个 -v 选项允许指定一个宿主机上的目录或文件映射到容器内的一个位置:
sudo docker run -d --name elasticsearch \
--restart always \
--memory="2g" \
-v /dockerData/elasticsearch/data:/usr/share/elasticsearch/data \
-v /dockerData/elasticsearch/config:/usr/share/elasticsearch/config \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
docker.elastic.co/elasticsearch/elasticsearch:8.16.1 去掉always,使用unless-stopped重启:
sudo docker run -d --name elasticsearch \
--restart unless-stopped \
--memory="2g" \
-v /dockerData/elasticsearch/data:/usr/share/elasticsearch/data \
-v /dockerData/elasticsearch/config:/usr/share/elasticsearch/config \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
docker.elastic.co/elasticsearch/elasticsearch:8.16.1 单次不重启:
sudo docker run -d --name elasticsearch \
--memory="2g" \
-v /dockerData/elasticsearch/data:/usr/share/elasticsearch/data \
-v /dockerData/elasticsearch/config:/usr/share/elasticsearch/config \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
docker.elastic.co/elasticsearch/elasticsearch:8.16.1
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]