docker build -t mytag-app .
返回错误:
The command is not available in the current context (e.g. required subsystems or connection to the controller might be unavailable).
The command '/bin/sh -c /opt/jboss/wildfly/bin/jboss-cli.sh --user=admin --password=admin --commands="data-source add --name=source1 --jndi-name=java:jboss/datasources/MySqlDS --driver-name=mysql-connector-java-8.0.11.jar --connection-url=jdbc:mysql://sihors.com:3306/nynnphsj_wifigate2?serverTimezone=UTC --user-name=nynnphsj_loretto25 --password=dsotmpinkflo --enable=true"' returned a non-zero code: 1
我肯定我的Dockerfile是错的,但在哪里?
用于运行docker的“我的文件夹”包含:
这是我的DockerFile:
FROM jboss/wildfly
RUN /opt/jboss/wildfly/bin/add-user.sh admin admin --silent
ADD restful.war /opt/jboss/wildfly/standalone/deployments/
ADD mysql-connector-java-8.0.12.jar /opt/jboss/wildfly/standalone/deployments/
RUN /opt/jboss/wildfly/bin/jboss-cli.sh --user=admin --password=admin --commands="data-source add --name=source1 --jndi-name=java:jboss/datasources/MySqlDS --driver-name=mysql-connector-java-8.0.11.jar --connection-url=jdbc:mysql://mydomain.com:3306/mydb2?serverTimezone=UTC --user-name=root --password=root --enable=true"
EXPOSE 8080 9990
CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0"]
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.cosmink</groupId>
<artifactId>restful</artifactId>
<version>1.0</version>
<packaging>war</packaging>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.wildfly.bom</groupId>
<artifactId>wildfly-javaee7-with-tools</artifactId>
<version>${version.jboss.bom}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- JAVA EE API -->
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>8.0</version>
<scope>provided</scope>
</dependency>
<!-- MySQL DRIVER -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
<!-- Hibernate -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.3.1.Final</version>
<scope>provided</scope>
</dependency>
<!-- JJWT -->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>${jjwt.version}</version>
</dependency>
<!-- jBCrypt -->
<dependency>
<groupId>de.svenkubiak</groupId>
<artifactId>jBCrypt</artifactId>
<version>${jbcrypt.version}</version>
</dependency>
<!-- HttpClient Library -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.4</version>
</dependency>
<!-- Nats Library Client-->
<dependency>
<groupId>io.nats</groupId>
<artifactId>jnats</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
<build>
<finalName>restful</finalName>
<plugins>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>${version.wildfly.maven.plugin}</version>
<executions>
<execution>
<id>deploy-driver</id>
<phase>package</phase>
<configuration>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<name>mysql-connector-java-8.0.11.jar</name>
</configuration>
<goals>
<goal>deploy-artifact</goal>
</goals>
</execution>
<execution>
<id>add-datasource</id>
<phase>install</phase>
<configuration>
<force>true</force>
<address>subsystem=datasources,data-source=java:jboss/datasources/MySqlDS</address>
<resources>
<resource>
<properties>
<jndi-name>java:jboss/datasources/MySqlDS</jndi-name>
<enable>true</enable>
<connection-url>jdbc:mysql://mydomain.com:3306/db?serverTimezone=UTC</connection-url>
<driver-name>mysql-connector-java-8.0.11.jar</driver-name>
<user-name>root</user-name>
<password>root</password>
<pool-name>people-web</pool-name>
<use-java-context>true</use-java-context>
</properties>
</resource>
</resources>
</configuration>
<goals>
<goal>add-resource</goal>
</goals>
</execution>
</executions>
<configuration>
<add-user>
<users>
<user>
<username>admin</username>
<password>admin</password>
</user>
</users>
</add-user>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<failOnMissingWebXml>false</failOnMissingWebXml>
<jjwt.version>0.7.0</jjwt.version>
<jbcrypt.version>0.4.1</jbcrypt.version>
<version.jboss.bom>13.0.0.Final</version.jboss.bom>
<version.wildfly.maven.plugin>1.2.1.Final</version.wildfly.maven.plugin>
</properties>
如何使用mysql数据源连接为wildfly java应用程序创建docker映像?
Docker Build
是关于基于DockerFile构建容器映像的。此时,您的容器没有运行,您的wildfly也没有运行。您的jboss-cli.sh不能工作,因为这是关于与正在运行的wildfly交互的。
为了达到你的目标,你有两个选择
>
在配置了数据源的容器中添加
配置文件(最可能是standalone.xml)。每当一个容器基于您的映像启动时,wildfly就会读取它并进行连接。
下图说明数据流如何贯穿整个系统: index.php 作为前端控制器,初始化运行 CodeIgniter 所需要的基本资源。 Router 检查 HTTP 请求,以确定谁来处理请求。 如果缓存(Cache)文件存在,它将绕过通常的系统执行顺序,被直接发送给浏览器。 安全(Security)。应用程序控制器(Application Controller)装载之前,HTTP 请求和任何用户提交的数据将
Application是CatLib程序的核心,也是所谓的程序入口。应用程序通过引导来加载服务提供者和其他一些必须的资源。应用程序在一般情况下只允许启动一个,且只能在主线程中启动。 在任何位置,您可以通过App全局变量访问应用程序。 启动流程 Application.Bootstrap -> Application.Register -> Application.Init Application.
Leafpad Leafpad是一个十分小巧、快捷的图形界面文本编辑器,它可以用于作笔记或者编辑文件。你可以在菜单中找到它,或者直接在命令行中指定Leafpad编辑文件: $ leafpad Templates/script-shell.sh ISO 大师 —— 创建并且编辑ISO文件 ISO大师是一个可以创建、操作、编辑ISO镜像的图形工具,你可以储存或刻录生成的ISO文件。这个软件简单、直观
The best software in the world only sucks. The worst software is significantly worse than that. — Luke Kanies 在本章中,我们将学习如下内容: 管理 Apache 服务 创建 Apache 虚拟主机 创建 Nginx 虚拟主机 创建 MySQL 数据库及用户 管理 Drupal 站点 管理
我有一个Winforms应用程序,它目前正在使用application Insights SDK捕获错误日志、事件、异常、表单视图和另一个遥测。App Center现在支持WinForms应用程序,它还支持将遥测数据导出到应用程序洞察中。我现在的问题是,我是否应该从WinForms应用程序中删除Application Insights SDK,而使用AppCenter SDK?这样做有什么好处吗?
下图说明了整个系统的数据流程: index.php 文件作为前端控制器,初始化运行 CodeIgniter 所需的基本资源; Router 检查 HTTP 请求,以确定如何处理该请求; 如果存在缓存文件,将直接输出到浏览器,不用走下面正常的系统流程; 在加载应用程序控制器之前,对 HTTP 请求以及任何用户提交的数据进行安全检查; 控制器加载模型、核心类库、辅助函数以及其他所有处理请求所需的资源;
我有一个nodejs应用程序,它只不过是一个使用微软botbuilder框架构建的机器人。我创建了azure应用程序服务来托管此应用程序。我想找到一种方法,将所有应用程序日志和web服务器日志(如果可能的话)持久化到某个持久化存储中。就像本地web应用程序一样,我们可以在应用程序服务器上查找日志 在做了一些研究之后,我找到了微软关于这方面的官方文件,但看起来它有以下局限性。 我们不能使用应用程序服
主要内容:XML 文档实例,在 HTML div 元素中显示第一个 CD,实例,添加导航脚本,实例,当点击 CD 时显示专辑信息本章演示一些基于 XML, HTML, XML DOM 和 JavaScript 构建的小型 XML 应用程序。 XML 文档实例 在本应用程序中,我们将使用 "cd_catalog.xml" 文件。 在 HTML div 元素中显示第一个 CD 下面的实例从第一个 CD 元素中获取 XML 数据,然后在 id="showCD" 的 HTML 元素中显示数据。displ