当前位置: 首页 > 知识库问答 >
问题:

在两个不同的docker-compose文件中配置的链接容器

湛安宁
2023-03-14

db.yml:

version: '3'
networks:
    default:
        external:
            name: backend

volumes:
    mongo_data:

services:
    mongodb:
        image: mongodb
        container_name: mongodb
        restart: always
        ports:
            - 27017:27017
        networks:
            - backend
        volumes:
            - mongo_data:/data/db

admin.yml:

version: '3'
networks:
    default:
        external:
            name: backend

volumes:
    mongo_data:

services:
    mongoclient:
        image: mongoclient/mongoclient
        restart: always
        ports:
            - 3000:3000
        networks:
            - backend
        depends_on:
            - mongodb
        links:
            - mongodb

这是行不通的,因为链接的容器没有配置在同一个文件中。但有没有办法实现类似的事情呢?

我想有一个更干净的设置,以设置我的生产环境,使我能够重新启动只有相关的位,改变,而不是所有的一次。

共有1个答案

夏侯旻
2023-03-14

要链接到mongodb,您需要链接“外部”:

...
external_links:
        - project_mongodb_1:mongodb
...

请注意,您需要使用docker-compose ps提供的正确名称替换project_mongodb_1。您需要删除depends_on节。这行不通的。参见此处:https://github.com/docker/compose/issues/3951

但是,您不应该使用链接,因为它们是不推荐使用的。更多信息请参阅此处:https://docs.docker.com/compose/compose-file/#external_links

 类似资料:
  • 我正在使用wurstmeister的docker-kafka项目在容器中运行kafka/zoomaster。我使用docker-comup将容器localhost作为变量。 我已经编写了一个Java应用程序,它使用flink连接并使用这个Kafka容器的一个主题。如果我导出一个可运行的罐子,并从我的机器上运行它,它绝对可以正常工作。当我创建下面的图像以从另一个docker容器运行jar时,我在线程

  • 问题内容: 我了解您可以使用scale命令来使用docker-compose来旋转多个容器。但是,它们都将具有相同的配置。 是否可以在同一主机上以同一配置(不同文件)启动容器的容器? 使用以下命令: 只有容器会运行,这不是我想要的。 - 编辑 - 当我尝试运行两个命令时,将发生以下情况。 我和这个样子的: 问题答案: 您需要做的就是更改项目名称。默认情况下,compose使用基于当前目录命名的项目

  • 问题内容: 我是Docker的新手,感谢您的耐心配合。 我正在寻找一种方法来部署具有相同映像的多个容器,但是我需要向每个容器传递不同的配置(文件)? 现在,我的理解是,一旦构建了映像,就可以部署它,但是对我来说,问题是,当相同的应用程序之间的配置不同时,我看不到构建同一应用程序的多个映像的意义。容器。 如果这是正常现象,那么我将不得不处理它,但是,如果还有其他方法,请让我摆脱痛苦!:) 谢谢! 问

  • 我有一个dockerized应用程序,其中有几个服务使用Docker-Compose运行。我想使用另一个docker-compose应用程序docker-elk将这个应用程序与elasticsearch/logstash/kibana(ELK)连接起来。两者都运行在开发中的同一台docker机器中。在生产中,情况可能就不是这样了。 如何配置应用程序的链接到ELK堆栈?

  • 问题内容: 我已经在网上寻找了一段时间,但没有找到解决我的问题的解决方案,该解决方案与此问题类似,容器之间的DockerHTTP请求。但是这个答案已经是我在计算机上正在做的事情。我正在提供我的docker-compose文件 在我的Web容器中,我向或发出了http get请求,但是我没有看到该请求找到通往应用容器的方式。我在浏览器控制台中看到的是此错误消息。我不确定为什么http请求没有进入应用

  • 我使用了dockerhub的Jenkins docker图像(https://github.com/jenkinsci/docker) docker build命令已成功执行,容器也已成功启动。 Docker build命令: Docker容器命令: 然后我通过docker run-it myjenkins bash登录到容器。我找不到像config这样的jenkins配置文件。xml,詹金斯。x