Tag: postgresql

使用boot2docker将heroku postgres数据库转储导入到docker数据库容器中

我在OSX 10.10上运行boot2docker。 我有一个数据库容器的设置,所以我的数据库不会被重置,每次我开始/停止一个容器。 我想从heroku导入一个postgres数据库转储到我的docker数据库。 这可能吗?

docker与Postgres和bash

今天,我正在研究和尝试docker工人,并且给我留下了深刻的印象。 docker工人对我仍然有些疑问。 比Docker更有经验的人能告诉我什么是loginpostgres容器(运行bash)的最佳方式,以便查看一些postgresconfiguration文件,查看postgres日志,loginpostgres shell,执行pg_dump等等。等等,而这一切,而postgres进程正在运行。 我发现人们通常每个容器运行一个进程,并且采用这种方法,我不确定在运行postgres的容器上执行上述操作的最佳方式是什么? 任何build议? 谢谢!

是否将未绑定的泊坞窗容器卷中的数据提交给图像?

例如, postgres映像在/var/lib/postgresl/data有一个卷,但没有绑定到特定的主机path。 我想知道如果在这个容器中完成的数据库工作是完全封装的提交容器的图像,或者如果我需要单独传递未绑定的卷的内容。 命令中的示例 基于postgres映像创build容器vtest : $ docker run -d –name vtest postgres 容器在/var/lib/postgresql/data 上具有未绑定到主机path的卷: $ docker inspect -f '{{ .Volumes }}' vtest map[/var/lib/postgresql/data:/var/lib/docker/vfs/dir/bc39da05ff1cd044d7a17bba61381e854a948fb70cf39f897247f5ada66ad906] $ sudo docker inspect -f '{{ .HostConfig.Binds }}' vtest <no value> 创build一个数据库并在vtest容器中添加一些logging。 然后,将这些更改提交给一个图像以便与其他人共享: $ docker commit -p vtest postgres:vtest 在vtest容器的/var/lib/postgresql/data所做的更改是否会保留在这个新的postgres:vtest图像中?

docker停止&&docker公司并没有真正摆脱我的容器

使用postgres图像时,我有一些奇怪的行为。 我创build了一个安装在/docker-entrypoint-initdb.d的脚本,并使用单用户模式初始化数据库。 但是,当我更新脚本,运行 docker stop postgres_db docker rm postgres_db 而不是开始一个新的容器,数据库是旧的。 它不会改变。 我使用stream浪的box-cutter/ubuntu1404-docker ,当我运行 vagrant destroy -f vagrant up 并重新创build新的docker集装箱,将应用更改。 当我刚刚删除旧的容器,并开始一个新的容器,为什么不工作? docker在哪里保持它的caching,我可以清除,真正得到一个新的形象? 更新: 我正在使用的确切docker文件是原来的一个小的扩展。 它只是安装orafce插件的链接 ,内容: FROM postgres:9.4 RUN apt-get update && \ apt-get install -y postgresql-9.4-orafce && \ rm -rf /var/lib/apt/lists/* 我用来启动一个新的容器的命令是: docker run –name="postgres_db" \ –restart="always" \ -e POSTGRES_PASSWORD=PostgresPassword \ -p 5432:5432 \ -v […]

如何使用CLI将模块添加到Wildfly

我正在尝试用postgres数据源创build一个Wildfly docker镜像。 当我构builddockerfile时,它总是失败,当我尝试安装postgres模块时,权限被拒绝。 我的dockerfile看起来像这样: FROM wildflyext/wildfly-camel RUN /opt/jboss/wildfly/bin/add-user.sh admin admin –silent ADD postgresql-9.4-1201.jdbc41.jar /tmp/ ADD config.sh /tmp/ ADD batch.cli /tmp/ RUN /tmp/config.sh 其中要求如下: #!/bin/bash JBOSS_HOME=/opt/jboss/wildfly JBOSS_CLI=$JBOSS_HOME/bin/jboss-cli.sh JBOSS_MODE=${1:-"standalone"} JBOSS_CONFIG=${2:-"$JBOSS_MODE.xml"} function wait_for_wildfly() { until `$JBOSS_CLI -c "ls /deployment" &> /dev/null`; do sleep 10 done } echo "==> Starting WildFly…" $JBOSS_HOME/bin/$JBOSS_MODE.sh -c $JBOSS_CONFIG > /dev/null & echo "==> […]

新版本的postgresql docker容器没有新增加的数据

我正在使用一个PostgreSQL泊坞窗图像。 当我检查docker映像运行时,我有以下configuration: "Volumes" : { "var/lib/postgresql": {} }; 我想运行Docker容器,对postgresql数据库进行更改,然后使用这些更改创build另一个Docker容器版本。 为此我使用以下命令: docker commit –m “Add data” –a “My User Name” \7b827 miguelbgouveia/postegresql:version2 我运行这个新的容器,期望添加的数据存在。 喜欢这个: docker run -d –name db –p 5432:5432 miguelbgouveia/postgresql:version2 问题是所有添加的新数据都不存在于新的运行容器中。 这个是正常的? 我如何创build一个包含所有数据库更改的新容器?

转移docker运行脚本撰写文件 – postgres不运行?

我以前运行我的Web应用程序的Docker容器如下: echo Starting postgres container… docker run -d -p 5432:5432 –name db my_db echo Postgres container started echo Starting memcached container… docker run -d -p 11211:11211 –name mem memcached echo Memcached container started echo Starting web container… docker run -d -p 8000:8080 –name web –link db:postgres –link mem:memcache my_web_app echo Web container started echo Waiting […]

如何通过容器内的cron转储数据库?

我使用docker-compose堆栈。 相对编码: db: build: ./dockerfiles/postgres container_name: postgres-container volumes: – ./dockerfiles/postgres/pgdata:/var/lib/postgresql/data – ./dockerfiles/postgres/backups:/pg_backups Dockerfile for Postgres: FROM postgres:latest RUN mkdir /pg_backups && > /etc/cron.d/pg_backup-cron && echo "00 22 * * * /backup.sh" >> /etc/cron.d/pg_backup-cron ADD ./backup.sh / RUN chmod +x /backup.sh backup.sh #!/bin/sh # Dump DBs now=$(date +"%d-%m-%Y_%H-%M") pg_dump -h db -U postgres -d postgres > […]

如何在Postgres Docker容器中创build数据库?

我想在启动Postgres Docker镜像后创build一个数据库。 问题是如果我把我的数据库创build命令在我的docker-compose文件或者一个子dockerfile中,它会覆盖基本映像的命令来真正启动postgres – 所以我的psql没有启动服务器连接到。 例如: version: '2' services: db: command: bash -c "su – postgres -c '/usr/lib/postgresql/9.6/bin/psql -h 127.0.0.1 -p 6543 -U postgres -c \"create database dev;\"'" environment: – PGDATA=/pg – POSTGRES_PASSWORD=postgres – POSTGRES_USER=postgres image: postgres:9.6 ports: – '6543:5432' tmpfs: /pg 而图像文档并没有说明他们正在运行的启动Postgres的确切命令。 我试着把bash -c "postgres && …放在我的命令开头,但是它告诉我我不能以root身份启动Postgres。 我唯一可能的解决scheme是放弃docker-compose和dockerfile以支持bash脚本解决scheme,例如docker run postgres:9.6 psql -h postgres -U […]

安装PostgreSQL到一个asp.net核心容器

我是Docker世界的初学者。 我已经创build了一个ASP.net核心 Web API,并使用PostgreSQL在本地主机上成功运行。 现在,我已经将WebAPI添加到Docker容器中了。 我正在使用Windows 10,Visual Studio 2015,Docker for Windows 10和Powershell。 现在的问题是,我无法弄清楚以下几点。 如何在我的容器内设置PostgreSQL? 如何创build一个数据库和表? 如何连接上面的数据库与WebAPI? 当我尝试调用API时,它会发出“连接被拒绝”错误。 数据库连接失败。 我相信这是因为容器内没有数据库。 我找不到一个初学者理解这个程序的正确方法。 任何步骤的帮助将是非常有帮助的。