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

管理员

步浩壤
2023-03-14

我有三个docker容器(postgresql、adminer和go/migrate),我向主机公开了adminer和postgres端口。我可以在浏览器中访问adminer,Postco也可以连接到DB。当我尝试从adminer内连接到db时,它会抛出以下错误:

SQLSTATE[08006] [7] could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP
connections on port 5432? could not connect to server: Address not available
Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432?

迁移容器也会引发此错误:

错误:拨tcp:127.0.0.1:5432:连接:拒绝连接

因此,很明显,容器之间如何相互通信存在问题。我需要创建一个docker网络吗?

version: '3.1'

services:
  db:
    image: postgres
    environment:
        POSTGRES_DB: mydbname
        POSTGRES_USER: mydbuser
        POSTGRES_PASSWORD: mydbpwd
    ports:
      - "5432:5432"

  migrate:
    image: migrate/migrate
    volumes:
        - .:/migrations
    command: ["-database", "postgres://mydbuser:mydbpwd@localhost:5432/mydbname?sslmode=disable", "-path", "/migrations", "up"]
    links: 
        - db

  adminer:
    image: adminer
    restart: always
    ports:
      - "8081:8080"
    depends_on:
      - db

共有1个答案

莫泓
2023-03-14

您不需要创建链接,docker compose创建默认网络。此外,服务到服务的通信应使用服务名称,localhost表示此容器(迁移),而不是DB容器。

localhost更改为db

  migrate:
    image: migrate/migrate
    volumes:
        - .:/migrations
    command: ["-database", "postgres://mydbuser:mybpwd@db:5432/mydbname?sslmode=disable", "-path", "/migrations", "up"]

因为您的DB服务名称是db,所以您使用它的名称连接db容器。

 类似资料:
  • 一、简介 添加和管理管理员。 二、功能演示 1.添加管理员 2,管理管理员 对不需要或过期的管理员进行编辑和删除操作。如下图所示:

  • 一、简介 角色定位了拥有此角色的所有管理员权限,管理员可以为不同的角色成员分配不同的权限配置。 二、功能演示 1.成员管理 对该角色下所有管理员进行管理 2.角色编辑 编辑和添加操作相同,不做详述。 3.口令卡 V9系统集成了口令卡功能,使用户信息更见保密。下面我们做详细介绍。如下图: 点击“申请口令卡”后会提示申请成功.如下图: 注:申请口令卡成功后,请一定妥善保管生成的图片;如丢失,您将不能登

  • 我是wordpress的新手,在管理数据库方面有困难。我已经安装了“管理员”插件来管理数据库。我已经创建了一个名为“usersupp_admin”的新表。现在我还创建了一个自定义模板,该模板将使用PDO语句连接到此数据库,现在的问题是在哪里可以获取主机、数据库名、用户和密码?以下是代码: 任何帮助都将不胜感激。

  • 如果你正在管理一个 Git 仓库,或者需要通过一个复杂的方法来修复某些东西,Git 提供了一些管理命令来帮助你。 git gc git gc 命令在你的仓库中执行 “garbage collection” ,删除数据库中不需要的文件和将其他文件打包成一种更有效的格式。 此命令一般在背后为你工作,虽然你可以手动执行它-如果你想的话。 我们在维护 一节中研究此命令的几个示例。 git fsck git

  • 51LA统计账号信息设置,包括账户信息、账户权限和安全设置等问题,以及个别功能添加和删除数据等操作方法。

  • loggingView pod log kubectl logs pod/redis | grep WARNING kubectl logs pod/redis | grep WARNING > ~/tmp/01View pod log // 1. create pod kubectl run foobar --image=busybox --generator=run-pod/v1 --comm