Tag: postgresql

在Docker中运行PostgeSQL的方法是什么?

哪种方法是正确的? 一个分贝容器为每个应用程序 一个分贝容器的所有应用程序 安装数据库没有docker 我试图find信息,但没有。 还是我严重搜查?

来自守护程序的错误响应:找不到网桥

在ubuntu 14.04上启动docker服务之后,我收到了这些消息,并试图启动postgres容器。 $ docker start codeslave-postgres –> starting my container $ Error response from daemon: network bridge not found $ Error: failed to start containers: codeslave-postgres 我试图停止并重新启动docker服务,也重新启动我的机器,但它似乎不够用。 那么这些信息是什么意思?

从仅限数据的postgresql泊坞窗卷迁移数据

我只有一个数据postgresql容器 docker create -v /var/lib/postgresql/data –name bevdata mdillon/postgis /bin/true 我有一个正在运行的Postgis容器 docker run –name bevaddress -e POSTGRES_USER=bevsu -e POSTGRES_DB=bevaddress -P -d –volumes-from bevdata mdillon/postgis 我已经将该数据库备份到bavaddress容器中,并放到目录/var/lib/postgresql/backup 我认为这意味着备份数据是在容器bevaddress(正在运行的进程),而不是数据只有容器bevdata我认为是好的。 现在,如果我docker pull mdillon/postgis到新的版本,我怎样才能附加容器bevaddress的文件夹/var/lib/postgresql/backup ,以便新的实例和版本的mdillon/postgis可以访问该文件夹来恢复数据库?

IBM容器卷的性能

我正在IBM Containers中运行一个postgres 9.5数据库。 我修改了DockerHub映像,以便它可以与Containers服务提供的Volumesfunction一起工作(必须解决与此问题相关的权限问题: 我可以更改在IBM容器中的卷上安装的目录的所有者? )。 但是,我现在看到很差的performance。 例如,这里是运行删除一个新初始化postgres db(〜20MB)的最新输出,但是我没有看到任何比3分钟更快的输出: /tmp/vol/pgdata $ time rm -rf * real 18m 1.38s user 0m 0.00s sys 0m 0.25s 是否有可能需要configuration不同的图像/容器来获得合理的性能? 有没有其他人有幸在一个卷上运行数据库?

Bluemix Docker容器部署导致“无路由到主机”

我们正在使用这个命令部署docker-image: cf ic run -p 8080 -m 512 -e SPRING_PROFILES_ACTIVE=test -e logging.config=classpath:logback-docker-test.xml –name <container-name> registry.eu-gb.bluemix.net/<repository_name>/<container-name>:latest 在那个容器中,我们开始使用连接池提供程序的Java8 Spring-Boot应用程序。 连接池提供程序连接到可在标准端口上访问的现有PostgreSQL数据库。 我们不使用任何域名连接到PostgreSQL数据库。 我们只使用IP地址和标准的postgresql端口。 部署工作在使用标准Docker容器守护进程的机器上,同时也在Amazon WebServices(AWS)上工作,没有任何问题,并使用相同的部署机制。 但是,如果我们将映像部署到Bluemix-Container-Service,则在启动Spring引导应用程序时会出现以下错误: Caused by: java.net.NoRouteToHostException: No route to host at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at org.postgresql.core.PGStream.<init>(PGStream.java:61) at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:129) at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:65) at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:146) at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:35) at org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.java:22) […]

无法从虚拟机访问Docker容器中的postgresql

我有一个虚拟机通过bash供应设置与stream浪汉。 我尝试安装一系列应用程序和工具,在启动时将虚拟机虚拟化,其中一些需要PostgreSQL数据库。 我精简了configuration阶段,只包含必要的部分: install.sh: function installPostgresql() { docker pull postgres:9.4 docker run –name dbcontainer -e POSTGRES_PASSWORD=$POSTGRES_PASSWORD -e POSTGRES_DB=dbname -e POSTGTES_HOST=localhost -d postgres } … installPostgresql 这使用为postgresql创build的默认广泛使用的docker镜像。 从中央存储库中取出后开始。 出于某种原因,我无法访问虚拟机内运行的postgres服务,但是如果在运行的docker上执行/ bin / bash并在虚拟机内部的docker中使用psql,则可以连接它。 虚拟机内部: vagrant@debian-jessie:~$ psql -h localhost -p 5432 -U postgres -W Password for user postgres: psql: could not connect to server: Connection refused Is the […]

Java Web应用程序和PostgreSQL上的Websphere自由

我正在Docker上的websphere-liberty上部署一个可用的Tomcat webapp。 该Web应用程序连接到docker上的postgres数据源。 在websphere中,当我试图获得连接 DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/postgres"); Connection conn = ds.getConnection(); 我的web.xml被设置为: <resource-ref> <description>postgreSQL Connection</description> <res-ref-name>jdbc/postgres</res-ref-name> <res-type>javax.sql.XADataSource</res-type> <res-auth>Container</res-auth> </resource-ref> 我得到以下错误 javax.naming.NamingException: CWNEN1001E: The object referenced by the java:comp/env/jdbc/postgres JNDI name could not be instantiated. If the reference name maps to a JNDI name in the deployment descriptor bindings for the application performing the JNDI […]

如何揭露docker集装箱的几个端口?

如何在docker-compose.yml中显示一个容器中的多个端口? 例如,我需要为postgresql容器公开端口,如果5432被占用(由本地postgresql),而不是设置为范围5432-5442中的下一个。 可能吗?

Dokku / Docker,如何在运行容器的文件系统中访问文件?

以前,要访问正在运行的dokku实例中的文件,我将运行:docker docker ps以获取容器ID,后跟ls /var/lib/docker/aufs/diff/<container-id>/app/…注意:I我只是使用'ls'作为示例命令。 我最终想引用一个特定的文件。 这一定是已经改变了,因为容器ID不能通过这个path访问。 该文件夹中有大量的目录,但没有与任何正在运行的容器相匹配。 在这种情况下,似乎在整个容器中安装一个卷将是矫枉过正的。 我知道我可以使用dokku run project-name ls来访问文件系统,也可以使用dokku run project-name ls docker exec <container-id> ls ,但是这两者都不能满足我的用例。 为了更全面地解释,在我的dokku项目中,我有一些.sql文件,用来引导我的postgres数据库。 这些文件通过与项目的其余部分的git push被推上去。 我希望使用postgres dokku插件来运行以下内容: dokku postgres:connect db-name < file-name.sql 这是我以前一直在使用的: dokku postgres:connect db-name < /var/lib/docker/aufs/diff/<container-id>/app/file-name.sql但不再有效。 对此有何想法? 我是否全部错了? 非常感谢您的任何想法。

运行使用Flywaytesting并在Docker容器中embeddedPostgresql时的java.net.ConnectException

为了正确地testing我的Spring Boot应用程序,我在集成testing中使用了embedded式Postgresql 。 此外,我也使用Flywayconfiguration为使用基于Postgresqlconfiguration的数据源(查看EmbeddedPostgresConfiguration和FlywayConfiguration类)。 在我的环境(OS X)上运行时,所有的testing都没有问题,但在Docker容器(对于java:8和openjdk:8图像)中运行时失败。 我不知道是什么原因造成这种差异,以及如何解决这个问题,以便在Docker中传递testing(这是进一步的持续集成pipe道所需要的)。 这里是最小的代码示例来复制问题: https : //github.com/nkoder/postgresql-embedded-example 。 运行testing没有问题运行./gradlew clean test 。 以失败运行testing运行docker build . 。 在Docker内运行testing期间抛出的错误: java.lang.IllegalStateException Caused by: org.springframework.beans.factory.BeanCreationException Caused by: org.springframework.beans.BeanInstantiationException Caused by: org.flywaydb.core.api.FlywayException Caused by: org.postgresql.util.PSQLException Caused by: java.net.ConnectException 我试图为自己解决这个问题,但我仍然只有一些猜测,没有什么可靠的。 唯一的“提示”:对于embedded式Postgresqlconfiguration中使用的硬编码(非随机)端口,有时类似的exception发生在flyway.clean(); 在FlywayConfiguration类(从IntelliJ IDEA在更多的testing中运行实际项目的testing时),这似乎是通过提供的数据源访问数据库的第一行代码。 更新1: Postgresql实例在同一个Docker容器内的随机打开的端口上的本地主机上的testing期间被创build。 我怀疑没有必要连接到主机(外部容器)。