elasticsearch的默认部署端口是9200、9300,宿主机这些端口可能刚好被其他应用服务占用。

这里尝试应用docker端口映射的方法,解决端口占用冲突问题。

1 端口映射

docker 端口映射,映射容器内应用的服务端口到宿主机器。

这里借用网络资料示例,展示这一过程。

CONTAINER ID    IMAGE        COMMAND         CREATED       STATUS       PORTS          NAMES

e93349d53911    nginx        "nginx -g 'daemon ..."  11 seconds ago   Up 9 seconds    0.0.0.0:32769->80/tcp  zen_kirch

使用 docker ps 看到,本地主机的 32769 端口被映射到了容器的 80 端口,这时通过本机浏览器访问 http://localhost:32769 就会出现 nginx 欢迎页面。

2  elasticsearch映射

宿主机9200、9300被占用,这里宿主机启用9201、9301,分别映射到容器的9200、9300。

docker命令示例如下。

docker run  -d --name es01 --net elastic -p 9201:9200 -p 9301:9300  -it -m 1GB docker.elastic.co/elasticsearch/elasticsearch:9.1.5  sleep 99999999999999999

这里通过-d指定docker在后台启动容器,具体过程参考

https://blog.csdn.net/liliang199/article/details/153077435

reference

---

Docker 给运行中的容器设置端口映射的方法

https://www.cnblogs.com/yangzp/p/13570665.html

linux环境docker如何让启动的容器在后台运行

https://blog.csdn.net/liliang199/article/details/153077435

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐