Tag: postgresql

在基于Docker容器的架构中使用数据库服务器

我学习Docker和testing目的我在里面运行一个Django应用程序。 一切正常,正在运行。 但是现在我想在我的容器化架构中使用数据库( Postgres )。 我们知道,如果一个容器停止,所有的数据将被重置,因此,我不能把我的数据库在容器中,对不对? 我对此感到困惑。 我应该在容器之外运行数据库服务器吗? 那么容器内的应用程序应该如何与之交谈呢? 或者我必须在容器中运行数据库服务,并从外部源读取数据库转储文件? 我对build筑感到困惑! 容器只适用于应用程序,并不代码数据库服务器? 或者我可以使用容器内的数据库? 我喜欢容器的想法,我想做我的项目作为一个包到处运行…但是当即时通讯使用数据库服务器,这可能吗?

如何设置高山容器postgres的sorting数据?

我正在使用postgres:9-alpine docker容器,并且通过varcharsorting表中的数据无法正常工作。 首先按字母sorting,然后按字母顺序排列。 我理解高山语言环境中的问题。 我怎样才能configuration这个? 例: SELECT regexp_split_to_table('B a D c', ' ') ORDER BY 1; 显示:В,D,a,c 但是我需要:a,B,c,D WITH foo AS ( SELECT regexp_split_to_table('B a D c', ' ') as bar ) SELECT bar FROM foo ORDER BY bar collate "en_US.utf8"; 错误:编码“UTF8”的归类“en_US.utf8”不存在 SELECT版本(): 在x86_64-pc-linux-musl上的PostgreSQL 9.6.6,由gcc编译(Alpine 6.2.1)6.2.1 20160822,64位

postgres进入docker集装箱的巨大页面

所有。 是否有可能使用巨大的页面运行到docker容器的postgres? 如果有可能,我怎么configuration它?

HeidiSQL将不会列出我的数据库

我的postgres yaml部分看起来像这样: postgres: container_name: 'postgres' image: postgres:10.1 environment: – POSTGRES_USER=postgres – POSTGRES_PASSWORD=root – POSTGRES_DB=myids ports: – "5432:5432" networks: – app-network 然后当我使用HeidiSQL的凭据login时,我无法看到我的数据库: 有任何想法吗? 更新感谢这个答案我设法find我的数据库https://dba.stackexchange.com/a/1304使用此select: SELECT datname FROM pg_database WHERE datistemplate = false; 现在问题为什么HeidiSQL不会显示?

Loopback Postgres在Docker-compose环境中

首先我道歉我的坏英语:) 我已经build立了一个docker-compose环境,包含一个环回API,一个PostgreSQL数据库和其他一些服务。 在这里你可以看到docker-compose.yml version: "2.1" services: postgresql: image: postgres:9.6 restart: always environment: – "COMPOSE_HTTP_TIMEOUT=200000" – "POSTGRES_USER=root" – "POSTGRES_PASSWORD=root" – "POSTGRES_DB=hh" backend: image: tyrex/backend restart: always stdin_open: true tty: true environment: – "API_BASE_PATH=/api" – "HOST_NAME=haaye-henricus.de" – "PORT=3000" – "DATABASE_HOST=postgresql" – "DATABASE_PORT=5432" – "DATABASE_NAME=hh" – "DATABASE_USER=root" – "DATABASE_PASSWORD=root" – "DEBUG_DATABASE_CONNECTOR=true" ports: – "3000:3000" command: ["./wait-for-it.sh", "postgresql:5432", "–", […]

Dockernetworking – 服务发现

我可能会问一个很小的问题,但是我一直在挣扎,自己却没有find解决这个问题的办法。 我试图更好地理解Dockernetworking是如何工作的,为此,我创build了一个简单的微服务体系结构,由2个简单的服务组成:一个Web应用程序(ms)和一个数据库(db)。 docker-compose.yaml文件如下所示: version: "3" services: ms: build: ./ms1 ports: – "8081:8080" db: image: postgres restart: always ports: – "8001:5432" environment: POSTGRES_USER: **** POSTGRES_PASSWORD: **** POSTGRES_DB: microservices 从Docker文档中,我应该可以使用stringpostgres://db:5432从我的ms服务连接到db 。 但是,尝试通过psycopg2 lib提供的连接function来连接它时 db_connection = connect(dbname="db_name", user="****", password="****", host="postgres://db:5432") popup如下错误: psycopg2.OperationalError: could not translate host name "postgres://db:5432" to address: Name or service not known 问题是:我想如何发现docker-compose文件中链接在一起的服务?

复制数据库postgres contenaire docker

我有一个docker容器,其中包含一个postgres数据库运行,我想在另一台服务器上创build这个数据库的复制是否有可能这样做,如果是的话如何指定与其他服务器上的ip的maste 谢谢

在new-app命令的openshift中构buildkeycloak docker hub映像

我试图在openshift 3.6中部署Keycloak图像Keycloak HA Postgres 。 作为先决条件,我不得不说我不能在我的本地机器上运行docker,所以我必须从oc new-app命令创build映像。 当我尝试打电话 oc new-app jboss/keycloak-ha-postgres 然后图像下载,但我有服务器启动时出现错误: Cannot start embedded server: Failed to instantiate class "org.jboss.logmanager.handlers.PeriodicRotatingFileHandler" for handler "FILE": java.lang.reflect.InvocationTargetException: /opt/jboss/keycloak/standalone/log/server.log (Permission denied) Cannot start embedded server: Failed to instantiate class "org.jboss.logmanager.handlers.PeriodicRotatingFileHandler" for handler "FILE": java.lang.reflect.InvocationTargetException: /opt/jboss/keycloak/standalone/log/server.log (Permission denied) 还有哪些环境variables(名称)我必须build立连接到我的postgres?

我如何保持对Postgresql Docker容器所做的更改?

我正在使用官方postgresql泊坞窗图像来启动一个容器。 之后,我安装了一些软件,并使用psql来创build一些表格等。我这样做是通过首先启动postgres容器,如下所示: docker run -it –name="pgtestcontainer" -e POSTGRES_PASSWORD=postgres -p 5432:5432 postgres:9.6.6 然后我附上这个容器 docker exec -it pgtestcontainer bash 我安装软件,创build数据库表等 之后,我第一次退出第二个terminal会话(我曾经安装软件),并在第一个terminal会执行ctrl + c来停止postgres容器。 在这一点上我的期望是,如果我提交这个postgres图像 docker commit xyz…zxy pg-commit-test 然后根据提交的映像运行一个新的容器: docker run -it –name="modifiedcontainer" -e POSTGRES_PASSWORD=postgres -p 5432:5432 pg-commit-test 那么我应该有所有的软件和表格。 上面的过程的结果是,我已经安装的软件在修改容器,但SQL表等没有了。 所以我的猜测是我的方法或多或less是正确的,但有一些具体到postgres泊坞窗图像我失踪。 我知道,如果没有外部目录或docker卷绑定到/var/lib/postgresql/data ,它从头创build数据库,但我没有这样做,提交后,我希望数据库的内容保持为他们是。 我如何遵循上述步骤(或正确的步骤)并对数据库进行更改?

docker nginx letsencrypt odoo错误

我发现这个存储库在docker中创build我的所有实例。 但是,经过一番testing,我总是有 FATAL: password authentication failed for user "odoo" 有我的docker组成就像在Git仓库 version: "2" services: nginx: restart: always image: nginx container_name: nginx ports: – "80:80" – "443:443" volumes: – "/etc/nginx/conf.d" – "/etc/nginx/vhost.d" – "/usr/share/nginx/html" – "./volumes/proxy/certs:/etc/nginx/certs:ro" nginx-gen: restart: always image: jwilder/docker-gen container_name: nginx-gen volumes: – "/var/run/docker.sock:/tmp/docker.sock:ro" – "./volumes/proxy/templates/nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl:ro" volumes_from: – nginx entrypoint: /usr/local/bin/docker-gen -notify-sighup nginx -watch -wait […]