Tag: postgresql

将Docker容器中运行的PostgreSQL服务器连接到野外的docker容器?

我无法将野生容器连接到运行在不同容器中的PostgreSQL服务器。 但是,我可以从主机连接到数据库。

将Docker上的PostgreSQL持久存储转换为现代docker存储

随着 docker volume create 对于仅存储容器 ,我仍然使用旧的方式在我的机器上运行postgres,以查找没有dockerfile的小应用程序: # MAKE MY DATA STORE STORAGE_DIR=/home/username/mydockerdata/pgdata docker create -v $STORAGE_DIR:/var/lib/postgresql/data –name mypgdata ubuntu true # CREATE THE PG docker run –name mypg -e POSTGRES_PASSWORD=password123 -d -p 5432:5432 –volumes-from mypgdata library/postgres:9.5.4 # RUN IT docker start mypg # docker stop mypg 我有4个问题: 我怎么能移动旧的方式来存储我的数据在本地,持久的容器到现代卷? 我的方式的权限总是显得$ ls -lah $STORAGE_DIR/.. drwx—— 19 999 […]

postgres docker容器中的pg_restore

我试图恢复PostgreSQL泊坞窗容器中使用pg_restore从shellcript的数据库将从docker文件调用。我得到以下错误“错误:取消自动清理任务上下文:自动分析表'tablename'” 。 DockerFile: FROM postgres:9.3 ENV POSTGRES_USER postgres ENV POSTGRES_PASSWORD Abcd1234 ENV POSTGRES_DB Clarion1 COPY DB.backup /var/lib/postgresql/backup/DB.backup COPY initialize.sh /docker-entrypoint-initdb.d/initialize.sh initialize.sh #!/bin/bash set -e set -x echo "******PostgreSQL initialisation******" pg_restore -C -d DB /var/lib/postgresql/backup/DB.backup 日志: server started CREATE DATABASE /docker-entrypoint.sh: running /docker-entrypoint-initdb.d/initialize.sh ++ echo '******PostgreSQL initialisation******' ++ pg_restore -C -d Clarion1 /var/lib/postgresql/backup/Clarion53.backup ******PostgreSQL initialisation****** ERROR: […]

如何从Docker容器创buildPostgres备份

我有一个Docker容器内运行的Postgres 9.5.4数据库。 我正在使用官方的Postgres镜像 ,我一直在尝试从我的数据库创build备份,但目前还没有运气。 根据docker文件,我期待以下命令将dump.tar文件存储在主机中的/ releases /文件夹中(在暂存器容器之外) docker run -i –rm –link my_postgres:postgres –volume /releases/:/tmp/ postgres:latest pg_dumpall > /tmp/dump.tar 但是这会引发下面的错误: pg_dumpall: could not connect to database "template1": could not connect to server: Connection refused Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? 任何想法可能是错的?

独立的开发和生产实例和数据库

我有一个托pipe在服务器上的Web应用程序,它使用virtualEnv来分隔dev和prod实例。 两个实例共享相同的postgres数据库。 (全部在同一台服务器上) 我是一个新的docker,我想用docker容器replacedev和prod实例,并且每个链接到dev或prod postgres容器(或者类似的效果,以便在开发中更改代码不会影响生产数据库。 ) 什么是这种情况下最好的devise? 我应该将dev和prod容器映射到不同的端口吗? 我可以有dever和prod容器的1个dockerfile吗? 我如何处理2个postgres容器?

dockerize不会延迟容器的初始化

我现在准备为我的项目的图像。 我使用dockerize来控制我的初始化。 我不确定硬件代码是由docker给出的IP地址是否可行? 问题: backend不会等到database首先完成初始化。 terminal说 backend_1 | django.db.utils.OperationalError: could not connect to server: Connection refused backend_1 | Is the server running on host "sakahama_db" (172.21.0.2) and accepting backend_1 | TCP/IP connections on port 5432? 这是我的文件: devdb.dockerfile FROM postgres:9.5 # Install hstore extension COPY ./Dockerfiles/hstore.sql /docker-entrypoint-initdb.d RUN mkdir -p /var/lib/postgresql-static/data ENV PGDATA /var/lib/postgresql-static/data hstore.sql create […]

无法将Npgsql连接到在Docker上运行的Postgres DB

我有一个与以下代码的.NET应用程序的docker容器: var pgsql = OpenDbConnection("Server=localhost;Database=postgres;Username=postgres;Password=MyPass;Port=5432"); private static NpgsqlConnection OpenDbConnection(string connectionString) { NpgsqlConnection connection; Console.Error.WriteLine("Connecting to DB"); while (true) { try { connection = new NpgsqlConnection(connectionString); connection.Open(); break; } catch (SocketException e) { Console.WriteLine("{0} Exception caught.", e); Thread.Sleep(1000); } catch (DbException) { Console.Error.WriteLine("Waiting for db – db error"); Thread.Sleep(1000); } } return connection; } 我有一个不同的容器与官方Postgres容器,我开始与命令 docker […]

Docker构build无法在Sinatra项目中安装pg gem

我已经审查了所有的post与类似的错误安装Postgres的pggem。 我的问题是独特的:我可以通过Gemfile和bundle install成功地将Postgres添加到我的Sinatra Ruby项目中 – 但是在构buildDocker镜像时,安装pg失败,出现以下错误: ERROR: Error installing pg: ERROR: Failed to build gem native extension. current directory: /usr/local/bundle/gems/pg-0.19.0/ext /usr/local/bin/ruby -r ./siteconf20170113-7-ottv1k.rb extconf.rb checking for pg_config… no No pg_config… trying anyway. If building fails, please try again with –with-pg-config=/path/to/pg_config checking for libpq-fe.h… no Can't find the 'libpq-fe.h header *** extconf.rb failed *** 我已经尝试了类似的答案build议一切: Brew安装/卸载, […]

如何从另一个容器获取容器Ip?

我有以下docker-compose文件: version: '2' services: node: build: ./node/ ports: – "3000:3000" volumes: – ~/src/api:/code links: – postgres environment: – NODE_ENV=dev – POSTGRES_ADDRESS=postgres postgres: build: ./postgres/ ports: – "8000:5432" environment: – POSTGRES_PASSWORD=pw volumes: – ~/Postgres/data/:/var/lib/postgresql/data 但是当我在我的nodejs中访问process.env.POSTGRES_ADDRESS时,它返回'postgres'。 这是我一直这样做的方式,它应该返回postgres容器的IP。 任何build议如何我可以访问postgres容器IP?

Docker卷不保留数据

这是我的docker文件 FROM ubuntu:14.04 RUN apt-key adv –keyserver keyserver.ubuntu.com –recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8 RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" > /etc/apt/sources.list.d/pgdg.list RUN apt-get update && apt-get -y -q install python-software-properties software-properties-common \ && apt-get -y -q install postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3 USER postgres RUN /etc/init.d/postgresql start \ && psql –command "CREATE USER pguser WITH SUPERUSER PASSWORD 'pguser';" \ && […]