docker elasticsearch端口映射解决端口冲突问题
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