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

节点Postgres Docker

钮鸿煊
2023-03-14

我尝试用我的Node.js应用程序设置Docker,它使用sequelize连接到Postgres。

const sequelize = new Sequelize(
    process.env.DB_NAME,
    process.env.DB_USER,
    process.env.DB_PASS,
    {
        host: process.env.DB_HOST,
        port: process.env.DB_PORT,
        dialect: 'postgres',
    },
);

我的dockerfile如下所示:

FROM node:8.6.0

# Working directory for application
WORKDIR /usr/src/app
EXPOSE 8080
COPY . /usr/src/app

# In this file I create a user and a DB and give him the privlages 
ADD init.sql /docker-entrypoint-initdb.d/
RUN npm install

我的docker-compose.yml如下所示:

version: "2"
services:
  postgres:
    image: "postgres:9.4"
    restart: always
    ports:
      - "5432:5432"
    env_file:
      - .env
  node:
    build: .
    ports:
      - "8080:8080"
    depends_on:
      - postgres
    command: ["npm", "start"]

当我docker-compose up时,我得到的错误是Sequelize无法连接到数据库。

正在创建graphqlpostgrestemplate_postgres_1...

正在创建graphqlpostgrestemplate_postgres_1...完成

正在创建graphqlpostgrestemplate_node_1...

postgres_1此用户还必须拥有服务器进程。

Postgres_1

postgres_1数据库集群将使用区域设置“en_us.utf8”初始化。

postgres_1默认的文本搜索配置将设置为“English”。

Postgres_1

postgres_1数据页校验和被禁用。

Postgres_1

postgres_1正在初始化pg_authid...ok

postgres_1正在初始化依赖项...好的

postgres_1正在创建系统视图...好的

node_1 npm信息生命周期graphql-postgres-template@1.0.0~start:graphql-postgres-template@1.1.0

NODE_1

node_1>graphql-postgres-template@1.0.0start/usr/src/app

postgres_1正在创建转换...好的

postgres_1正在创建字典...好的

postgres_1设置内置对象的特权...好的

node_1[nodemon]观看:。

node_1[nodemon]开始babel-node index.js

postgres_1正在清除数据库模板1...ok

postgres_1成功。现在可以使用以下方法启动数据库服务器:

Postgres_1

postgres_1 postgres-d/var/lib/postgreSQL/data

postgres_1您可以通过编辑pg_hba.conf或使用选项-a或

postgres_1--auth-local和--auth-host,下次运行initdb时使用。

postgres_1

访问数据库的postgres_1 Postgres端口。在

postgres_1 Docker的默认配置

postgres_1实际上是同一容器上的任何其他容器

postgres_1

postgres_1正在等待服务器启动....日志:无法绑定IPv6套接字:无法分配请求的地址

postgres_1提示:另一个postmaster是否已经在端口5432上运行?如果没有,请等待几秒钟,然后重试。

postgres_1日志:自动真空启动程序启动

postgres_1已完成

postgres_1服务器已启动

postgres_1日志:中止任何活动事务

postgres_1日志:自动真空发射器关闭

postgres_1日志:正在关闭

node_1未处理的拒绝SequelizeConnectionRefusederror:connect EconnRecided 172.18.0.2:5431

node_1在connection.connect.err处(/usr/src/app/node_modules/sequeelize/lib/dicults/postgres/connection-manager.js:96:24)

node_1在connection.connectingerrorhandler处(/usr/src/app/node_modules/pg/lib/client.js:123:14)

node_1在connection.emit处(events.js:210:7)

套接字处的node_1。(/usr/src/app/node_modules/pg/lib/connection.JS:71:10)

发射端node_1(Events.JS:115:13)

node_1[nodemon]清除退出-在重新启动前等待更改

postgres_1已完成

postgres_1服务器已停止

postgres_1日志:自动真空启动程序启动

共有1个答案

单于越
2023-03-14

在您的docker-compose中添加链接配置选项,在您的服务节点指向服务postgres,如下所示:

node:
  links:
    - postgres

然后,可以连接到PostgreSDb名为service postgres的point

 类似资料:
  • 如果我没弄错的话,树通常是一个列表,其中的元素按特定顺序排列。孩子们不在他们自己的子列表中,他们都在同一个列表中。 所以,我试图创建一个Tree类,其中包含TreeNodes(类)使用Tree类中的List。 我如何跟踪父母/孩子/叶子?如果父母“父母1”,有两个孩子“孩子A”和“孩子B”,我如何将他们联系在一起?

  • Text 节点的概念 文本节点(Text)代表元素节点(Element)和属性节点(Attribute)的文本内容。如果一个节点只包含一段文本,那么它就有一个文本子节点,代表该节点的文本内容。 通常我们使用父节点的firstChild、nextSibling等属性获取文本节点,或者使用Document节点的createTextNode方法创造一个文本节点。 // 获取文本节点 var textNo

  • Text节点的概念 Text节点的属性 data wholeText length nextElementSibling previousElementSibling Text节点的方法 appendData(),deleteData(),insertData(),replaceData(),subStringData() remove() splitText(),normalize() Docu

  • 负载均衡集群中的节点用于监听负载均衡实例,并将客户端的请求根据监听和转发规则将其转发给后端服务器。 负载均衡集群中的节点用于监听负载均衡实例,并将客户端的请求根据监听和转发规则转发给后端服务器。 同一个集群下可以有多个转发节点,但同一时刻只有一个节点作为Master节点提供转发服务。属于一个集群的节点的VRRP路由ID必须相同。 节点生命周期管理: 新建节点:设置节点的配置参数。 部署节点:将节点

  • 节点是Pod的实际运行环境。 该页面仅显示在云管平台创建的Kubernetes集群的节点信息。 一个Kubernetes集群由1~3个控制节点和n个计算节点组成。节点是Pod的实际运行环境。 控制节点(controlplane):即Master节点,由三个紧密协作的独立组件组合而成,它们分别是负责API服务的kube-apiserver、负责调度的kube-scheduler,以及负责容器编排的k

  • 所以我环顾了一下网络,在stackoverflow中有几个问题是定义: 通常,内部节点是任何不是叶子的节点(没有子节点) 非叶/非末端/内部节点-至少有一个度不等于0的子节点或后代节点 据我所知,它是一个节点,而不是一片叶子。 我即将得出结论,根也是一个内部节点,但它的定义似乎有些模糊,如图所示: 二元搜索树中的“内部节点”是什么? 正如这张精彩的图片所示,内部节点是位于树根和树叶之间的节点 如果

  • 在本章中,我们将详细介绍XPath表达式,其中包括常见的节点类型,XPath定义和句柄。 序号 节点类型 描述 1 Root XML文档的根元素节点。 2 Element 元素节点。 3 Text 元素节点的文本。 4 Attribute 元素节点的属性。 5 Comment 注释

  • GitBooks为插件提供了不同的节点 API和上下文。这些API可以根据使用的GitBook版本,你的插件应该在package.json中指定engines.gitbook字段。 Book实例 Book接口是GitBook的中心点,它集中了所有的访问读取方法。 //从book.json读取配置 var value = book.config.get('title','Default Value'