How to connect Php docker container with Mongo DB docker container
Goto your command terminal. Type: This will expose port: 27017 by default. You…
August 10, 2019
Assuming your web application is using oracle, and you are deploying your app on Jboss wildfly. If you run on fresh download of wildfly or docker image of jboss/wildfly, you will get following error:
ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC000001: Failed to start service
.
.
.
10:15:56,901 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "datasources"),
("data-source" => "oracle")
]) - failure description: {
"WFLYCTL0412: Required services that are not installed:" => ["jboss.jdbc-driver.OracleJDBCDriver"],
"WFLYCTL0180: Services with missing/unavailable dependencies" => [
"org.wildfly.data-source.oracle is missing [jboss.jdbc-driver.OracleJDBCDriver]",
"jboss.driver-demander.java:/oracle is missing [jboss.jdbc-driver.OracleJDBCDriver]"
]
}
10:15:56,903 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "datasources"),
("data-source" => "oracle")
]) - failure description: {
"WFLYCTL0412: Required services that are not installed:" => [
"jboss.jdbc-driver.OracleJDBCDriver",
"jboss.jdbc-driver.OracleJDBCDriver"
],
"WFLYCTL0180: Services with missing/unavailable dependencies" => [
"org.wildfly.data-source.oracle is missing [jboss.jdbc-driver.OracleJDBCDriver]",
"jboss.driver-demander.java:/oracle is missing [jboss.jdbc-driver.OracleJDBCDriver]",
"org.wildfly.data-source.oracle is missing [jboss.jdbc-driver.OracleJDBCDriver]"
]
}
<?xml version="1.0" encoding="UTF-8"?>
<module name="com.oracle" xmlns="urn:jboss:module:1.1">
<resources>
<resource-root path="ojdbc7.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
<subsystem xmlns="urn:jboss:domain:datasources:5.0">
<datasources>
<datasource jndi-name="java:/oracle-ds" pool-name="oracle-ds" enabled="true">
<connection-url>jdbc:oracle:thin:@HOSTNAME:PORT/DATABASE</connection-url>
<driver>OracleJDBCDriver</driver>
<pool>
<min-pool-size>5</min-pool-size>
<max-pool-size>100</max-pool-size>
<prefill>true</prefill>
<flush-strategy>IdleConnections</flush-strategy>
</pool>
<security>
<user-name>USERNAME</user-name>
<password>PASSWORD</password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/>
<check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>
<background-validation>true</background-validation>
<stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"/>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/>
</validation>
<timeout>
<blocking-timeout-millis>5000</blocking-timeout-millis>
<idle-timeout-minutes>5</idle-timeout-minutes>
</timeout>
</datasource>
<drivers>
<driver name="OracleJDBCDriver" module="com.oracle">
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
</subsystem>
If you are using wildfly docker image, you might require following Dockerfile
FROM jboss/wildfly
COPY ojdbc7.jar /opt/jboss/wildfly/modules/system/layers/base/com/oracle/main/
COPY module.xml /opt/jboss/wildfly/modules/system/layers/base/com/oracle/main/
#Copying required scripts and files
COPY standalone.xml /opt/jboss/wildfly/standalone/configuration/
COPY <WEBAPP>.war /opt/jboss/wildfly/standalone/deployments/
Note: In above file, module.xml is file having following content:
<?xml version="1.0" encoding="UTF-8"?>
<module name="com.oracle" xmlns="urn:jboss:module:1.1">
<resources>
<resource-root path="ojdbc7.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
docker run -it -d jboss/wildfly
# get its container id
docker ps
# Copy standaline.xml file to current path
docker cp <container-id>/opt/jboss/wildfly/standalone/configuration/standalone.xml .
Now, we just need to build another image from our Dockerfile
docker build -t MY_IMAGE_NAME .
# To run it,
docker run -it -d MY_IMAGE_NAME
Hope you get your problem resolved.
Goto your command terminal. Type: This will expose port: 27017 by default. You…
Introduction We will see how we can install Python from command line using pyenv…
Github is an awesome place of storing your code. Now, it also allows you to have…
Introduction There are some cases, where I need another git repository while…
For programmers, who want to write about their codes. Its often the first…
Introduction While this topic may applicable to all mysql/mariadb users who…
Introduction In this post we will see following: How to schedule a job on cron…
Introduction There are some cases, where I need another git repository while…
Introduction In this post, we will see how to fetch multiple credentials and…
Introduction I have an automation script, that I want to run on different…
Introduction I had to write a CICD system for one of our project. I had to…
Introduction Java log4j has many ways to initialize and append the desired…