在Docker容器上连接Postgres数据源的Wildfly Swarm错误
我正在尝试使用Wildfly Swarm,Docker和PostgreSQL作为数据库来构build一个简单的rest服务。
该应用程序在localhost上运行良好(没有docker)。
在docker基础结构上使用数据源连接数据库时遇到问题
这是我的docker.compose.yml
:
version: '3' services: web: build: . depends_on: - db db: build: ./db ports: - "5432:5432"
我的Web Dockerfile
:
FROM fabric8/java-jboss-openjdk8-jdk:1.2.3 ENV AB_OFF true ADD megasindico-billing-api-swarm.jar /opt/megasindico-billing-api-swarm.jar EXPOSE 8080 ENTRYPOINT ["java", "-jar", "/opt/megasindico-billing-api-swarm.jar"]
PostgreSQL Dockerfile
:
FROM postgres:9.4-alpine ENV POSTGRES_USER=admin ENV POSTGRES_PASSWORD=admin
project-defaults.yml
是在哪里configuration我的数据源:
swarm: datasources: data-sources: ### [datasource] megasindico-billing-ds: driver-name: postgresql connection-url: jdbc:postgresql://db/postgres user-name: admin password: admin
inheritance人如何persistence.xml
如下所示:
<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> <persistence-unit name="megasindico-billing-ds" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <properties> <property name="hibernate.hbm2ddl.auto" value="create-drop" /> <property name="hibernate.show_sql" value="true" /> <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" /> <property name="hibernate.hbm2ddl.import_files" value="scripts/reset.sql"/> <property name="hibernate.connection.useUnicode" value="true" /> <property name="hibernate.connection.characterEncoding" value="UTF-8" /> </properties> </persistence-unit> </persistence>
该应用程序是使用mvn clean package
命令构build的。
要构build图像我使用build.sh
文件:
#!/usr/bin/env bash # Copy jar file to this directory cp ../target/megasindico-billing-api-swarm.jar megasindico-billing-api-swarm.jar # Build Docker image docker-compose build # Remove temp file rm -rf megasindico-billing-api-swarm.jar
之后,我执行docker-compose up
命令来运行图像。
我得到的错误是这些:
尝试向Docker入口点添加-Djava.net.preferIPv4Stack=true
,即
ENTRYPOINT ["java", "-jar", "/opt/megasindico-billing-api-swarm.jar", "-Djava.net.preferIPv4Stack=true"]
请复制并粘贴错误文本,而不是张贴屏幕截图。 没有人在未来寻找类似的问题将能够find它,因为它是一个屏幕截图。
- 在不同的Docker容器之间使用RabbitMQ进行通信
- 在多主机networking上部署springboot cloud netflix是否正确?
- 如何在Docker容器中configurationspring cloud oauth2
- docker组合服务的集中configuration
- 如何通过zuul代理从一个微服务访问另一个
- 我有多个瓶子微服务,都相互沟通,我将如何configurationdocker?
- Kubernetes – 为“服务”创build特定的命名空间
- 在Windows上的Docker虚拟机:了解networking,主机和连接
- 在我的CIpipe道中使用docker-compose与codeship-services