Tag: postgresql

初始化centos docker镜像上的postgres失败,无法获得D-Bus连接:不允许操作

我试图在Docker镜像上安装postgres,基本镜像运行centos。 我正在按照如何在CentOS 7上安装PostgreSQL关系数据库的说明进行操作,这里是我的Dockerfile: FROM our-internal-docker-registry.org/centos:7.3.1611 RUN yum install -y postgresql-server postgresql-contrib RUN postgresql-setup initdb 第一个RUN命令成功,但是第二个失败,并且: Step 3/3 : RUN postgresql-setup initdb —> Running in d26f43467aa0 Failed to get D-Bus connection: Operation not permitted failed to find PGDATA setting in postgresql.service The command '/bin/sh -c postgresql-setup initdb' returned a non-zero code: 1 我承认自己对下一步该怎么做也不知情,因为我对postgres或者linux并不熟悉。 希望得到一些build议。

运行docker化的pgadmin作为服务

以这种方式运行时,它工作正常: docker run -it –rm -p 5050:5050 –name testing fenglc/pgadmin4 但是,当我把它添加到docker – 组成,然后我无法连接到本地主机:5050。 thajeztah / pgadmin4图像也是如此 version: "3" services: pgadmin: image: fenglc/pgadmin4 ports: – "5050:5050" 这不是一回事吗?

从Java应用程序连接到一个postgres容器?

我正在对一个Java应用程序(wildfly服务器)进行docker化,这个程序需要连接到一个也作为容器运行的postgres服务器。 现在,因为postgres连接的configuration在.jar文件中,所以它应该连接到一个在localhost上运行的postgres实例,当我启动.jar容器时,它告诉我它找不到postgres服务器(它因为它不在localhost上运行,它运行在不同的容器上)。 13:00:38,448错误[stderr](main)导致:org.postgresql.util.PSQLException:连接到localhost:5432被拒绝。 检查主机名和端口是否正确,以及postmaster是否接受TCP / IP连接。 有没有办法通过外部configuration文件为野蛮服务器重写.jar中的configuration文件,以便其不在本地主机上查找postgres服务器,而是在运行postgres服务器的容器上? Tnx,Tom

Node Postgres Docker

我尝试使用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', }, ); 在我的.env文件中,我声明了所有其他环境variables中的DB_HOST=postgres (这是在docker-conpose.yml中声明的服务的名称)和DB_PORT=5432 。 我的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/ […]

连接到VPN时无法连接到postgres数据库

我有一个docker镜像,可以通过OpenVPN连接到VPN服务来收集一些数据,然后将这些数据插入到Postgres表中。 当我在本地的Windows机器上运行它时,它工作得很好,当我试图让它在AWS Batch上工作时,麻烦就开始了。 在AWS Batch上使用相同的映像和命令时,一旦build立VPN连接,容器就不能再连接到Postgres数据库。 要清楚: 1.(在VPN连接之前)可以通过HTTP连接到互联网并插入到Postgres。 2.(VPN连接后)可以通过HTTP(现在从不同的IP)连接到互联网,但不能连接到Postgres。 它给出了错误: “psycopg2.OperationalError:无法连接到服务器:连接超时。服务器是否在主机”地址“(ip)上运行,并在端口5432上接受TCP / IP连接? 我敢肯定,我的数据库运行在主机打开的端口,因为我试图做的工作正常在Windows上,并在EC2上使用VPN之前。 当我的本地Windows计算机上的容器与AWS Batch加速的EC2服务器相比,Docker镜像的行为不同时,我感到茫然,任何帮助都将不胜感激。 解决scheme:我需要为我的计算资源设置新的VPC,而不是使用默认的VPC。

不能在docker上用ruby / sinatra安装postgres

我正在尝试使用docker做一个tesseract api,但是在安装bundle的时候,我得到这个错误: Fetching data_mapper 1.2.0 Installing data_mapper 1.2.0 Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /var/lib/gems/2.3.0/gems/do_postgres-0.10.17/ext/do_postgres /usr/bin/ruby2.3 -r ./siteconf20171013-5-6l2bdy.rb extconf.rb checking for main() in -lpq… yes checking for libpq-fe.h… yes checking for libpq/libpq-fs.h… yes checking for postgres.h… no *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack […]

连接到Docker容器中的Postgres时发生身份validation错误

当我尝试连接到Docker容器中的Postgres数据库时,出现以下错误。 我在windows上使用pgAdmin 4作为我的客户端。 Password does not match for user "postgres". 我的docker-compose文件如下: version: "3" services: db: image: postgres environment: – POSTGRES_USER=postgres – POSTGRES_PASSWORD=postgres – POSTGRES_DB=postgres ports: – "5433:5432" volumes: – pgdata:/var/lib/postgresql/data volumes: pgdata: 不知道我在做什么错。 该文件指出用户名和密码都是postgres 。 当我只是docker run图像时,我能够连接。 现在我正在使用撰写文件,我似乎得到这个问题。

Docker组合和postgres官方图像环境variables

其实我正在使用下面的docker-compose.yml文件 version: '3.3' services: postgres: container_name: postgres image: postgres:latest restart: always environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} PGDATA: /var/lib/postgresql/data/pgdata ports: – "5432:5432" volumes: – ./data/postgres/pgdata:/var/lib/postgresql/data/pgdata 我也使用这个.env文件在docker-compose.yml文件的同一目录中: POSTGRES_USER=dbadm POSTGRES_PASSWORD=dbpwd POSTGRES_DB=db 然后我用这种方法将一个bash shell运行到容器中: docker exec -ti postgres bash 然后调用该命令: psql -h postgres -U dbadm db 我得到的错误: psql: FATAL: password authentication failed for user "dbadm" 奇怪的事实是,如果使用默认的图像参数: psql […]

如何只允许访问postgresql中的kubernetes pod?

我有一个在GKE的Kubernetes中运行的Django应用程序。 那Django应用程序连接到一个静态(非容器)postgresql服务器。 由于他们都位于一个区域,我的django应用程序使用内部IP连接到数据库。 我只想我的Django应用程序请求连接到postgresql数据库,并拒绝来自其他IP的请求连接。 要做到这一点,在pg_hba.conf我做到了这一点: host all all 14.133.0.0/24 md5 因为所有的内部IP都以14.133开头。 但是,请求来自pod IP,因此连接请求被拒绝。 一个Pod IP的例子可以是14.4.123.32 。 所以,如果我在pg_hba.conf执行以下操作,问题将得到解决: host all all 14.0.0.0/8 md5 另外要注意的是,Pod IP总是变化的。 所以,这个解决scheme一旦更新吊舱就会中断。 什么是最好的做法呢?

Postgres数据库不在Docker中启动 – Mac

在我的开发中,我已经使用了Postgres DB,而在最后一次推送我的Spring Micro服务时,Postgres DB还没有启动,接下来是kitematic的docker输出 The database cluster will be initialized with locale "en_US.utf8". The default database encoding has accordingly been set to "UTF8". The default text search configuration will be set to "english". 2017-10-17T08:37:47.562145630Z Data page checksums are disabled. 2017-10-17T08:37:47.562162938Z fixing permissions on existing directory /var/lib/postgresql/data … ok initdb: could not create directory "/var/lib/postgresql/data/pg_xlog": No […]