【开发问题记录】启动某个服务时请求失败(docker-componse创建容器时IP参数不正确)

简介: 【开发问题记录】启动某个服务时请求失败(docker-componse创建容器时IP参数不正确)

一、问题描述

1.1 产生原因

因为我是拉取的别人的项目,所以需要在本地配置项目需要的环境,在本地虚拟机中需要使用docker 进行服务的部署,我当时的流程是这样的,将必要的软件安装好后(就是docker和docker-componse),然后上传docker-compose.yml文件,里面有容器的启动命令,包含了各种参数的配置,如下,当时我不知道seata的配置中还有ip的配置,这个ip跟我的虚拟机的ip并不一致,所以就导致了后面的问题



1.2 产生问题

我在启动某个服务的时候,这个服务一直请求失败,我通过查看它的运行日志找到了问题所在

报错信息:

10:30:54.261-[a2c9fe491352][sys]-ERROR 7 ---[.naming.updater]com.alibaba.nacos.client.naming
request:/nacos/v1/ns/instance/list failed,servers:[192.168.150.101:8848],code:500,msg:connect timed out
  • 查看日志
docker logs -f [容器名]

如下图所示,对应上面说到的IP错误,导致seata服务也请求失败



二、问题解决

当知道是docker-compose.yml文件的配置问题就很好解决了

2.1 找到自己的docker-compose.yml文件

  • 如下是我的文件所在地:
cd /usr/local/src

2.2 重新编辑docker-compose.yml文件

  • 这里我编辑的是seata的配置,改成自己虚拟机的IP
seata:
    image: seataio/seata-server
    container_name: seata
    ports:
      - "8099:8099"
      - "7099:7099"
    environment:
      SEATA_IP: 192.168.113.128
    volumes:
      - "./seata:/seata-server/resources"
    networks:
      - new
    restart: always
    depends_on:
      - mysql
      - nacos

2.3 通过docker-componse重新运行docker-compose.yml文件

docker-compose up -d

2.4 重新启动docker容器

systemctl restart docker

2.5 查看seata信息

docker inspect seata
  • 可以发现已经成功


相关文章
|
6天前
|
前端开发 安全 数据库
Web架构&前后端分离站&Docker容器站&集成软件站&建站分配
Web架构&前后端分离站&Docker容器站&集成软件站&建站分配
|
4天前
|
Docker 容器
如何使用Docker部署WPS Office服务并实现无公网IP远程处理文档表格(二)
使用Docker部署的WPS Office服务可以通过内网穿透工具Cpolar实现远程访问。首先,创建一个名为“wps office”的隧道,选择HTTP协议和3000端口,分配免费的随机域名,并指定中国地区。然后,通过Cpolar的管理界面获取HTTP公网地址,用以远程访问WPS Office。由于随机域名会变化,可以升级Cpolar套餐并保留一个二级子域名,确保长期稳定的远程访问。配置子域名后,更新隧道设置,完成固定公网地址的绑定,从而实现随时随地通过固定地址访问WPS Office。
|
3天前
|
NoSQL Redis Docker
使用 Docker Compose 接管现有容器的文档
使用 Docker Compose 接管现有容器的文档
16 2
|
6天前
|
Cloud Native 安全 Docker
云上攻防-云原生篇&Docker安全&系统内核&版本&CDK自动利用&容器逃逸
云上攻防-云原生篇&Docker安全&系统内核&版本&CDK自动利用&容器逃逸
|
3天前
|
存储 关系型数据库 MySQL
解读 MySQL 容器信息:`docker inspect` 字段详解
解读 MySQL 容器信息:`docker inspect` 字段详解
22 1
|
7天前
|
Linux Docker 容器
蓝易云 - net.ipv4.ip_forward=0导致docker容器无法与外部通信
完成以上步骤后,Docker容器应该能够正常与外部通信了。
10 2
|
7天前
|
Docker 容器
蓝易云 - Docker中容器的随机命名方式
例如,一个自动生成的容器名称可能是"happy_einstein"。这种随机命名方式既保证了容器名称的唯一性,又增加了一些趣味性。
12 2
|
7天前
|
Web App开发 网络协议 定位技术
【Docker项目实战】使用Docker部署IP工具箱MyIP
【6月更文挑战第18天】使用Docker部署IP工具箱MyIP
21 2
|
9天前
|
监控 Java 数据安全/隐私保护
性能监控之 JMX 监控 Docker 容器中的 Java 应用
【6月更文挑战9天】性能监控之 JMX 监控 Docker 容器中的 Java 应用
37 1
|
4天前
|
安全 Linux 网络安全
如何使用Docker部署WPS Office服务并实现无公网IP远程处理文档表格(一)
在群晖NAS上使用Docker部署WPS Office并结合Cpolar内网穿透的步骤包括: 1. 通过SSH命令行拉取`linuxserver/wps-office`镜像。 2. 在群晖容器管理界面运行镜像,设置启动选项和端口映射。 3. 本地访问群晖IP:3000端口以使用WPS Office。 4. 安装Cpolar套件,手动添加并安装到群晖,通过9200端口访问其Web管理界面。 5. 使用Cpolar配置内网穿透,实现远程访问WPS Office。 这一过程允许用户即使在没有公网IP的情况下,也能通过Cpolar将内网的WPS Office服务暴露到公网,便于远程办公和文档处理。