Tag: postgresql

泊坞窗。 在postgresql容器上创build卷

我想在主机上的容器中备份我的数据库。 我知道,卷应该做的伎俩。 在docker集装箱,我意识到数据所在: postgres=# SHOW data_directory; data_directory —————————— /var/lib/postgresql/9.5/main 所以我正在尝试首先从我的容器中复制所有的数据从这个文件夹主机: docker cp docker_postgres:/var/lib/postgresql/9.5/main/base /local_path/base 然后启动带有音量的容器: docker run \ -tid \ -v local_path/base:/var/lib/postgresql/9.5/main/base \ –hostname docker_postgres \ –name docker_postgres \ docker_postgres 但是,这给了我错误: > service postgresql restart * Restarting PostgreSQL 9.5 database server * Error: could not exec /usr/lib/postgresql/9.5/bin/pg_ctl /usr/lib/postgresql/9.5/bin/pg_ctl start -D /var/lib/postgresql/9.5/main -l /var/log/postgresql/postgresql-9.5-main.log -s -o […]

postgres pg_basebackup找不到.pg_pass文件

我已经成功地从一个主要到二级postgres泊坞窗容器安装复制stream,每个容器在单独的ec2实例上作为任务运行。 不过,我通过将主服务器上的复制用户作为信任保留在其pg_hba.conf中来实现此目的: host replication replication 0.0.0.0/0 trust 然后,当我切换到MD5,我想我可以简单地设置复制用户的辅助密码,一切都会好起来的。 不。 在我的辅助初始化脚本中,当我调用pg_basebackup -h #{primary_ip} -p 5432 -D $PGDATA -U #{repl_user} -v -P -w –xlog-method=stream我最初得到密码提示。 然后我加了-w 。 这会给我的错误: pg_basebackup: could not connect to server: fe_sendauth: no password supplied 然后我发现在通用的postgres 9.6映像上没有postgres主目录,所以我添加了一个$ PG_PASSFILEvariables。 这不起作用(权限很好,我甚至把它放在/ tmp中,并通过pg_basebackup行上的PG_PASSFILE = …,正如在这个问题中: .pgpass在Dockerized环境中用于PostgreSQL复制 (参见Raphael的评论) ) 不pipe我做什么,pg_basebackup都会忽略.pg_pass文件。 然后,我尝试将卷挂载为/ home / postgres,但是使用AWS,我似乎无法在创build的入口点init脚本中创build根目录。 一切都是作为postgres用户。 有人克服这个吗? 我正在运行我的辅助初始化代码作为入口点脚本。 就像我说的,作为信任工作正常,但添encryption码正在杀死我。

Docker-compose rails postgres

我一直在按照这个教程来“dockerize”我的Rails应用程序,并且遇到了一些连接到数据库的障碍,经过一番search,没有任何解决scheme似乎工作。 我也尝试了默认的用户'postgres',没有密码,但仍然没有运气。 我的错误表明我的密码不正确,但我尝试的所有内容都不会改变错误: web_1 | I, [2017-06-02T00:58:29.217947 #7] INFO — : listening on addr=0.0.0.0:3000 fd=13 postgres_1 | FATAL: password authentication failed for user "web" postgres_1 | DETAIL: Connection matched pg_hba.conf line 95: "host all all 0.0.0.0/0 md5" web_1 | E, [2017-06-02T00:58:29.230868 #7] ERROR — : FATAL: password authentication failed for user "web" 这是我有: .ENV LISTEN_ON=0.0.0.0:3000 […]

在Docker容器中连接本地的psql db和web app

我是docker工人,了解基本的东西。 我有我的本地Ubuntu服务器上安装postgresql,我想连接它的泊坞窗容器内的Web应用程序。 我应该采用什么样的设置来允许?

如何在卷挂载不工作时定期备份Docker容器中的Postgres数据库?

我正在运行Windows 8.1 64位,以及Virtualbox和Docker-Toolbox的最新版本。 大多数一切正常工作,但是根据这个线程 ,装载Postgresql容器的数据目录会引发错误。 这是一种烦人的,因为我想能够有一个数据库的备份提交/手头上。 有没有其他的方法来做到这一点? 我正在考虑使用Docker信号和捕获sigkill / sigterm,但是我希望有一个更好的内置方法 – 在Docker或Postgresql本身中,而不是只运行一个脚本来在容器站点上导出.sql。

Docker:不能从Dockerfile运行psql命令

我有一个Python / PostgreSQL项目,我试图把它放在一个Docker容器中。 当我尝试在容器内运行psql命令来创build图像时创build用户和数据库时,出现此错误: psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? 这里有一个Dockerfile: FROM python:2.7-slim WORKDIR /app ADD . /app RUN apt-get update && apt-get install -y postgresql postgresql-contrib libgeos-c1 RUN service postgresql start RUN su postgres bash -c […]

编辑运行Kong的Docker实例的configuration文件

我目前正在testingKong API Gateway,并且使用PostgreSQL运行,都在同一台机器上的不同的Docker容器中。 到目前为止,我已经能够成功链接到我的API并添加一个插件,但现在我想尝试更改一些configurationvariables,并且正在运行到一个墙上。 我已经广泛地查看了文档,并清楚地显示了如何在初始创build实例期间添加自定义envvariables(添加类似-e KONG_LOG_LEVEL=info )。 它也声明一旦你改变运行的实例上的configurationvariables运行docker exec -it kong kong reload 。 问题是,我不能为我的生活找出正确的命令来实际改变一个variables。 我尝试了所有我能想到的组合,无济于事,无法在任何地方find答案。 有没有人遇到(并解决)这个问题? 对不起,如果这是一个愚蠢的问题,我是新来的两个docker和孔,真的试图find答案在文件中都没有运气。 以下是我尝试过的一些命令: docker run -d –name kong -e "KONG_LOG_LEVEL=info" *response: "docker run" requires at least 1 argument(s).* docker restart kong kong-database -e "KONG_LOG_LEVEL=info" *response: unknown shorthand flag: 'e' in -e* docker exec -it kong kong reload -e "KONG_LOG_LEVEL=info" […]

如何从Docker容器访问主机数据库?

我有本地运行的PostgreSQL数据库和一个需要连接的应用程序的Docker容器。 如何从docker内部访问localhost数据库? docker run –rm -e "DATABASE_URL=postgresql://postgres:postgres@127.0.0.1:5432/my_db" –network="host" -p 4000:4000 my_image 以上似乎并没有工作。 这一个: 从Docker容器的内部,我该如何连接到本机的本地主机?

多数PostgreSQL数据库在数据只容器

我试图挂钩,并包含我的应用程序在docker集装箱。 我遇到的一个问题是为应用程序configuration数据库。 我一直在阅读有矛盾的结果,应该使用数据专用容器(DOC)。 而在其他地方,他们不应该使用。 那么他们什么时候可以使用? 如果我没有记错的话,我也会在某个地方看过,他们已经过时了。 这是真的? 此外,我们目前的应用程序是一个多数据库应用程序。 如果每个数据库有一个DOC,或者我应该把所有数据库合并成一个? 任何人都知道一个好办法将所有的postgres数据库从我的本地机器迁移到DOC? 这就是现在。 干杯。

在Docker中重新启动Postgres

我试图使用'docker restart'命令在Docker中重新启动Postgres。 它停了,但我无法启动它。 当我运行“ps -a”命令时,状态显示为“已退出”。 有什么办法可以重新启动吗? 我不想丢失该数据库中的任何数据。 容器在重新启动期间有一个活动连接。 这是造成一个问题吗?