docker 处理容器间互相调用(ip变动无法通信处理实践)

博主在搭建链路追踪时发现需要访问es的docker容器,但是发现重启服务后ip就变了导致 一直无法连接到es的容器下面是博主解决这个问题的步骤
第一步 :查看docker 网络

docker network ls

image.png

ps: 这里的myNetwork是作者 刚创建的

第二步 :查看具体网络信息

docker inspect 1801f6ebf58a

image.png

可以看到这里 我们的三个应用 都用的这个网络

网络模式 :

  • bridge: 桥接 docker
  • none: 不配置网络
  • host: 和宿主机共享网络
  • container: 容器网络连通

第二步 :创建 网络(专门给docker通信用)

docker network create myNetwork

下面我们创建docker 容器时指定网络
我这里 有两个容器需要需要访问es容器
例如:elasticsearch 容器创建

docker run --name elasticsearch \
--restart always \

--network myNetwork \  ## 设置网卡
--network-alias elasticearch \  ## 设置网络别名
-p 9200:9200 -p 9300:9300 \
-e  "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v  /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2

创建 skywalking-oap 容器 需要指定elasticsearch

docker run \
--name skywalking-oap \
--restart always \
--network myNetwork \
--network-alias skyOap \
-p 11800:11800 \
-p 12800:12800 -d \
--privileged=true \

-e TZ=Asia/Shanghai \

-e SW_STORAGE=elasticsearch7 \
-e SW_STORAGE_ES_CLUSTER_NODES=elasticearch:9200 \ ## 这里直接指定 别名加 端口直接就可以访问
-v /mydata/log/skyOap:/mydata/log/skyOap \
apache/skywalking-oap-server:8.6.0-es7 

创建 skywalking-ui 容器


docker run \
--name skywalking-ui \
--restart always \
--network myNetwork \
--network-alias skyUi \
-p 8091:8080 -d \
--privileged=true \

-e TZ=Asia/Shanghai \

-e SW_OAP_ADDRESS=skyOap:12800 \ ## 指向 skywalking-oap 容器
-v /mydata/log/skyUi:/mydata/log/skyUi \
apache/skywalking-ui:8.6.0

创建kibana 方便管理es

docker run --name kibana  
--restart always \

--network myNetwork \
--network-alias kibana \
-e ELASTICSEARCH_HOSTS=http://elasticearch:9200 \ ## 指向es 地址
-p 5601:5601  -d kibana:7.4.2

验证方式也很简单直接进到容器中ping访问别的容器

image.png

若访问容器中服务,可以使用这种方式访问 <网络别名>:<服务端口号>

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MY3HkcjG' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片