Tag: postgresql

更正postgres docker容器中tcp_keepalives设置的方法

我想改变下面的参数postgresconfiguration, tcp_keepalives_count , tcp_keepalives_idle , tcp_keepalives_interval 。 推荐的方法是什么? 以下是我docker-compose.yml postgres: restart: always image: postgres:latest volumes: – /data:/var/lib/postgresql ports: – "5432:5432" environment: – POSTGRES_USER=admin – POSTGRES_PASSWORD=postgres – POSTGRES_DB=postgres UPDATE 我最终修改了我的docker-compose file postgres: restart: always image: postgres:latest container_name: postgres volumes: – /data:/var/lib/postgresql ports: – "5432:5432" environment: – POSTGRES_USER=admin – POSTGRES_PASSWORD=postgres – POSTGRES_DB=postgres command: postgres -c tcp_keepalives_idle=60 -c […]

保存docker状态(例如,编辑postgresql.conf文件)

我已经下载了一个postgresql泊坞窗图像,并在编辑一些configuration文件。 我有的问题是,每当我编辑configuration文件并提交docker图像(保存为一个新的),它永远不会保存任何东西。 该图像仍然是我下载的相同。 我正在使用的图片: https : //hub.docker.com/_/postgres/ 我相信这是最新的docker文件。 https://github.com/docker-library/postgres/blob/a00e979002aaa80840d58a5f8cc541342e06788f/9.6/Dockerfile 这就是我所做的: 1. Run the postgresql docker container 2. Enter the terminal of the container. docker exec -i -t {id of container} /bin/bash 3. Edit some config files. 4. Exit the container. 5. Commit the changes by using docker commit {containerid} {new name} 6. Stop the old […]

(psycopg2.OperationalError)无法连接到服务器:连接被拒绝是服务器

我想连接两个docker容器,一个posgresql和另一个python瓶应用程序。 两者都正确链接,python应用程序中的所有连接variables直接取自postgres容器中通过链接显示的连接variables,与检查postgresql容器时发现的variables完全相同。 当我使用psql从连接string的确切参数即: psql -p 5432 -h 172.17.0.2 -d mydb -U user 在postgres容器中的数据库连接是成功的,所以我知道postgres通过指定的端口等正确通信。但是,当我试图通过具有相同的连接variables的瓶子连接到数据库,我得到这个错误: Traceback(最近一次调用的最后一个):_do_get中的文件“/usr/local/lib/python3.6/site-packages/sqlalchemy/pool.py”,第1122行返回self._pool.get(wait,self._timeout)文件“/usr/local/lib/python3.6/site-packages/sqlalchemy/util/queue.py”,第145行,在get raise empty sqlalchemy.util.queue.Empty 在处理上述exception期间,发生了另一个exception: 回溯(最近的最后一次调用):文件“/usr/local/lib/python3.6/site-packages/sqlalchemy/engine/base.py”,行2138,在_wrap_pool_connect返回fn()文件“/ usr / local / lib / python3.6 / site-packages / sqlalchemy / pool.py“,第328行,在unique_connection中返回_ConnectionFairy._checkout(self)File”/usr/local/lib/python3.6/site-packages/sqlalchemy/pool“。 py“,第766行,在_checkout fairy = _ConnectionRecord.checkout(pool)文件中”/usr/local/lib/python3.6/site-packages/sqlalchemy/pool.py“,第516行,在checkout中rec = pool._do_get ()文件“/usr/local/lib/python3.6/site-packages/sqlalchemy/pool.py”,第1138行,在_do_get self._dec_overflow()文件中“/usr/local/lib/python3.6/site -packages / sqlalchemy / util / langhelpers.py“,第60行, 退出 compat.reraise(exc_type,exc_value,exc_tb)文件”/usr/local/lib/python3.6/site-packages/sqlalchemy/util/compat。 py“,第187行,在reraise raise value文件”/usr/local/lib/python3.6/site-packages/sqlalchemy/pool.py“,第1135行,在_do_get中返回self._create_connectio n()文件“/usr/local/lib/python3.6/site-packages/sqlalchemy/pool.py”,第333行,在_create_connection中返回_ConnectionRecord(self)文件“/usr/local/lib/python3.6/ site-packages / […]

Docker,postgres。 端口已被分配

我有一些问题,由dockerbuild立我的项目。 我的错误屏幕如下。 我必须改变什么或者哪些工作停止解决这个问题。 请帮助

Postgres是否devise写入共享数据存储?

以下是关于docker中的音量共享的一个重要提示 : 多个容器也可以共享一个或多个数据卷。 但是,写入单个共享卷的多个容器可能会导致数据损坏。 确保您的应用程序devise为写入共享数据存储。 在这种情况下,Postgres是否devise写入共享数据存储? 换句话说,运行多个Postgres容器(可能具有不同的次要版本)是否安全地使用位于数据卷上的相同数据库文件?

无法从Golang容器连接到Postgres docker容器

我有一个使用golang构build的web服务器。 当我在本地testing它时,它工作正常。 但是,当我为我的Web服务器构buildDocker镜像时,它无法连接到正在运行的Postgres容器。 这是我docker-compose.yml : version: '2' services: go: image: golang:1.7 volumes: – ./:/server/http ports: – "80:8080" links: – postgres – mongodb – redis environment: DEBUG: 'true' PORT: '8080' postgres: image: onjin/alpine-postgres:9.5 restart: unless-stopped ports: – "5432:5432" environment: LC_ALL: C.UTF-8 POSTGRES_USER: user POSTGRES_PASSWORD: pass POSTGRES_DB: mydb mongodb: image: mvertes/alpine-mongo:3.2.3 restart: unless-stopped ports: – "27017:27017" redis: […]

安装pg gem而不安装postgres macOS

如果你不介意使用Homebrew安装Postgres数据库,这是一个很容易解决的问题。 但是我的使用案例,Postgres数据库是由Docker在开发机器上运行并将端口暴露到主机中。 然后我需要安装gem pg到需要pg_config开发机器。 正如你可能知道的,这是操作将失败,因为它没有呈现。 这有点令人沮丧,因为快速修复是我只需要通过Homebrew安装Postgres,然后gem install pg来解决这个问题。 但是如果postgres不需要安装,那可能会更好,因为我已经通过docker安装了,安装起来似乎有些重复。 我想问的是,我们有没有需要安装postgres这个工作的替代方法? 我曾经search过libpq ,这在Linux中是可用的,但它似乎不适用于macOS。

从Docker容器连接到另一个Docker容器的端口

我有两个docker集装箱运行在Linux主机上。 一个带有数据库,另一个带有应用程序。 我怎样才能从容器应用程序连接到容器数据库端口5432? 例如:我启动DATABASE容器,并将端口5432与“-p5432:5432”绑定到主机localhost,但是如何从“应用程序”访问此端口?我无法将端口5432绑定到主机本地主机,因为此端口已被使用。 Docker版本1.12.6 更新 我现在用了 sudo docker network create –subnet=172.20.0.0/16 –gateway=172.20.0.100 –ip-range=172.20.1.0/24 my-network sudo docker run –name postgres –network=my-network –ip=172.20.0.10 -d postgres sudo docker run –name application –network=my-network –ip=172.20.0.15 -d application 并在应用程序容器中configuration应用程序以查找IP 172.20.0.10 https://docs.docker.com/engine/userguide/networking/work-with-networks/

如何添加更多的function,从docker中心官方postgres图像?

如果使用官方postgres图像: https://hub.docker.com/_/postgres/ 是一个使用PostgreSQL数据库的简单方法。 但是,如果我需要使用一些PostgreSQL扩展如pgroonga: https://pgroonga.github.io 如何将其添加到官方的PostgreSQL映像? 运行该图像作为一个容器,然后login到它添加延伸,最终创造一个新的形象? 可能吗? 如果存在一个官方的pgroonga形象将是好事,但现在不存在: https://hub.docker.com/u/groonga/ 最后一种方式,为groonga制作一个图像,当运行完整的堆栈时,链接到postgres容器。 在使用容器部署现代Web应用程序时,这种情况适合哪种方式?

在postgres dockerize中找不到COPY命令

我正在尝试从CSV复制数据到容器 来自postgres容器shell $COPY copy command not found 也试过\复制 但创buildb和dropdb为我工作。