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

Docker:通过主机访问另一个容器

皇甫波峻
2023-03-14
version: "3.9"

networks:
  localdev:
    driver: 'bridge'

services:
  master-db:
    image: mysql:8.0
    container_name: master-db
    hostname: master-db
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    ports:
      - "4000:3306"
    networks:
      - localdev

  page-store:
    hostname: page-store
    build:
      context: .
      dockerfile: Dockerfile.page_store
    container_name: page-store
    ports:
      - "2020:2020"
    networks:
      - localdev
    links:
      - master-db

在页面存储Python Flask微服务中,我尝试使用主机名master-db访问MySQL数据库,但该名称无法解析

共有1个答案

裴建华
2023-03-14

您应该能够使用各自的服务名称相互连接。主数据库页存储删除主机名

根据官方指南,如果要使用hostname:page-store等,您可能必须在容器的/etc/hosts中定义master-dbpage-store

请参阅此SO线程。

 类似资料:
  • 问题内容: 我基于两个不同的图像创建了两个docker容器。一个数据库,另一个用于网络服务器。这两个容器都在我的Mac OS X上运行。 我可以从主机访问数据库容器,也可以从主机访问Web服务器。 但是,如何从Web服务器访问数据库连接? 我启动数据库容器的方式是 我开始了wls容器作为 我可以通过连接到主机上的数据库 我可以以以下方式访问主机上的wls: 问题答案: 最简单的方法是使用–link

  • 我基于两个不同的映像创建了两个docker容器。一个是db,另一个是WebServer。这两个容器都在我的mac OSX上运行。 我可以从主机访问db容器,也可以从主机访问webserver。 我可以访问主机上的wls作为

  • 问题内容: 我正在尝试为将我的应用程序容器连接到postgres容器提供一个便携式解决方案。“便携式”是指我可以给用户两个命令,每个容器一个,它们将始终协同工作。 我的本地PC上运行着一个postgres docker容器,我这样运行它, 我可以使用address从python flask应用程序访问它。 我也将python应用程序也放置在docker容器中,但无法连接到postgres容器。 地

  • 我有一个docker应用程序,我使用以下docker compose。yml运行它: 我有一个没有docker化的服务器在我的机器上运行,我可以通过访问它。我希望我的服务能够访问它。 我发现有人建议在我的服务配置中添加以下内容: 但是当我添加这个时,并尝试,我得到。当我尝试<code>curl时,也会出现同样的错误http://host.docker.internal:3000。 我拼命地尝试将端

  • 问题内容: 我相信我的问题很简单。我正在做在裸机上安装Kubernetes集群的先决条件。 假设我有: 主 -主机名泊坞DB容器,其被固定第一节点上 从属 -主机名泊坞DB容器,其被固定第二个节点上 我是否可以从群集中的任何容器(应用程序等)与 master 通信,而不管它是否在同一节点上运行? 这是默认行为吗?还是应该做其他的事情? 我假设我需要在YAML或JSON文件中设置参数,以便Kuber

  • 我在本地机器(Mac)上工作,其中有一个名为sqlvm的遗留虚拟机(这意味着我可以通过http://sqlvm:从本地主机访问这个虚拟机)。现在,我在应该连接到vm的同一个本地主机(我的Mac)中设置了几个docker容器(使用docker-compose)。< code>pymysql会引发一个异常: 如何将外部的“sqlvm”公开给内部 Docker 网络? 编辑:我尝试在yml文件中为相关容