关于docker上elasticsearch端口占用问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于docker上elasticsearch端口占用问题相关的知识,希望对你有一定的参考价值。
参考技术A 我做要做一个用elasticsearch的项目,我就先写一个elasticsearch的demo,连接上阿里云,然后启动我的elasticsearch
docker run -d -p 9300:9300 --name elasticsearch 2232dfa6321a
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES11 2232dfa6321a(限制内存的)
然后就愉快的开始写demo,但是我好像忘记了要把9200端口加上,集群的时候要用,我就把9300端口的进程kill了,然后再启动elasticsearch
就出现了port is already 占用了,我就 docker ps 发现我docker中真的有elasticsearch在跑,然后我就 netstat -lnp|grep 9300 查看
但是并没有进程占据9300端口。。。。。。。但是一启动就说端口占用了。
然后没办法我就去请教(果然厉害)
ps -ef |gre elasticsearch 果然就出来了很多死进程,我就挨个kill,杀到最后一个的时候再查看又会冒出一个来,但是我没有弄自启啊。。
反正不管了继续kill,kill几次之后我再docker ps 发现就没有elasticsearch了,就解决了问题。
但是我不明白的是这个端口都没有进程站用为啥回这样。。。。。。。。。。
使用 Docker 运行 elasticsearch 容器
# 搜索elasticsearch镜像
docker search elasticsearch
# 拉取elasticsearch镜像
docker pull elasticsearch
# 查看所有镜像
docker images
# 运行elasticsearch容器,-d 后台运行容器并打印出容器ID,-p 将容器的9200端口映射到主机的9200端口
docker run -d --name es \\
-p 9200:9200 -p 9300:9300 \\
-e "discovery.type=single-node" \\
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \\
elasticsearch:7.6.2
curl localhost:9200
在浏览器中访问并显示elasticsearch信息:
http://localhost:9200
查看所有运行中的容器:
docker ps
通过容器名称停止容器:
docker container stop es
通过容器名称移除容器:
docker container rm es
以上是关于关于docker上elasticsearch端口占用问题的主要内容,如果未能解决你的问题,请参考以下文章
Elasticsearch:如何在 Docker 上运行 Elasticsearch 8.x 进行本地开发
Elasticsearch:如何在 Docker 上运行 Elasticsearch 8.x 进行本地开发