【开发问题记录】启动某个服务时请求失败(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
  • 可以发现已经成功


相关文章
|
4天前
|
Shell Linux Docker
docker常用命令大全(基础、镜像、容器、数据卷)
这些命令仅仅是 Docker 命令行工具的冰山一角,但对于日常操作来说已经非常全面。通过熟练地使用这些基础命令,用户可以有效地管理 Docker 的镜像、容器、数据卷和网络。随着用户对 Docker 的深入使用,更高级的命令和选项将会变得必需,但上面列出的命令已经为用户提供了一个坚实的起点。对于初学者来说,理解和掌握这些常用命令是深入学习 Docker 的基础。
60 5
docker常用命令大全(基础、镜像、容器、数据卷)
|
5天前
|
安全 数据安全/隐私保护 Docker
docker使用jupyter/datascience-notebook,重置密码,并且设置各类易用参数
记得在容器初始化的时候,参数的设置需要按照你的实际使用习惯和需求来配置。对于数据科学项目而言,数据的持续性和环境的稳定性至关重要。通过上述步骤,可以在保证数据安全的同时提高工作效率。
14 3
docker使用jupyter/datascience-notebook,重置密码,并且设置各类易用参数
|
1天前
|
Ubuntu Devops 云计算
ubuntu docker-compose编排容器并且设置自启动
使用Docker Compose编排容器并设置为Ubuntu系统的自启动服务,不仅优化了应用的部署流程,也提升了运行时的可管理性和可靠性。通过上述步骤,您可以轻松实现这一目标。维护此类服务时,记得定期检查和更新您的 `docker-compose.yml`文件,确保所有的服务都符合当前的业务需求和技术标准。在云计算和微服务架构不断演进的今天,掌握Docker Compose等工具对于DevOps和软件工程师来说,变得尤为重要。
11 3
|
5天前
|
弹性计算 运维 应用服务中间件
容器的优势,在Docker中运行Tomcat
摘要:了解Docker与虚拟机的区别:虚拟机使用Hypervisor创建完整操作系统,而容器通过namespace和cgroup实现轻量级隔离,共享主机内核。Docker启动快、资源利用率高,适合快速部署和跨平台移植。但安全性相对较低。示例介绍了如何通过Docker搜索、拉取官方Tomcat镜像并运行容器,最后验证Tomcat服务的正常运行。
|
5天前
|
安全 网络协议 云计算
Docker容器网络配置详解
【7月更文挑战第16天】Docker的网络配置是实现容器间以及容器与外部网络通信的基础。通过选择合适的网络模式和配置选项,可以构建高效、安全、可扩展的Docker网络解决方案。
|
5天前
|
Java Scala 流计算
实时计算 Flink版产品使用问题之Docker镜像中的Java路径和容器内的Java路径不一致,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6天前
|
运维 Ubuntu Docker
Docker镜像和容器使用
【7月更文挑战第2天】Docker 概要:Docker 镜像是只读模板,包含运行应用的环境和代码,像蓝图一样。构建镜像可通过基于现有镜像(如 Ubuntu)安装软件后提交,或使用 Dockerfile 定义构建过程。Docker 容器是镜像的运行时实例,`docker run` 命令可创建并运行容器。常用容器操作包括启动/停止、状态检查和交互式进入。通过端口映射,容器服务可从主机访问,促进应用部署和管理的便捷性。
|
2天前
|
Kubernetes 调度 Docker
|
1月前
|
Shell Docker 容器
深入探索Docker容器管理:常用命令一览(1)
深入探索Docker容器管理:常用命令一览(1)
|
2月前
|
Linux 开发者 Docker
如何构建在 Docker 容器中运行命令?
【1月更文挑战第6天】
87 0