小编nol*_*exa的帖子

如何将VisualVM附加到在Docker容器中运行的简单Java进程

实际上我想要一个适用于JEE容器的解决方案,特别是Glassfish,但是在我尝试了很多设置组合并且没有成功之后,我将设置简化为最简单的情况.

这是我在Docker容器中启动的Hello World守护进程.我想附加jconsole或者VisulaVM它.一切都在同一台机器上.

public class Main {
  public static void main(String[] args) {
    while (true) {
      try {
        Thread.sleep(3000);
        System.out.println("Hello, World");
      } catch (InterruptedException e) {
        break;
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Dockerfile

FROM java:8
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
RUN javac Main.java
CMD ["java", "Main"]
Run Code Online (Sandbox Code Playgroud)

建造: docker build -t hello-world-daemon .

运行: docker run -it --rm --name hwd hello-world-daemon

问题:

  • 应该将哪些JVM参数添加到CMD命令行?
  • 应该公开和发布哪些端口?
  • Docker容器应该使用什么网络模式?

我没有在这里展示我失败的尝试,所以正确的答案不会有偏见.这应该是一个非常常见的问题,但我找不到有效的解决方案.

更新.工作解决方案

这个Dockerfile有效

FROM java:8
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
RUN …
Run Code Online (Sandbox Code Playgroud)

java jmx docker

48
推荐指数
4
解决办法
2万
查看次数

使用纯npm构建在NW.js(node-webkit)应用程序中加载Bootstrap

我正在尝试使用NW.js构建一个简单的桌面应用程序.通过一些帖子的启发,包括这一次,我想尝试一个纯粹的npm做法没有任何bower,gruntgulp.

所以我继续使用jquerybootstrap库作为npm模块安装.当我在我的应用程序的JavaScript中注入模块时,如下所示:

global.jQuery = $ = require("jquery");
var bootstrap = require("bootstrap");
Run Code Online (Sandbox Code Playgroud)

ReferenceError: document is not defined来自一个bootstrap.我可以bootstrap通过老式的方式加载html文档:

<script type="text/javascript" src="node_modules/bootstrap/dist/js/bootstrap.js"></script>
Run Code Online (Sandbox Code Playgroud)

我问自己require在脚本文件中加载bootstrap trough是否是一个愚蠢的想法?基本上,我不需要那里.它可以通过html中的脚本标记加载.什么是最佳做法?我糊涂了.

更新.解决方案

接受了@Kuf的建议后,我创建了一个build.js脚本

var copyfiles = require('copyfiles');
copyfiles(["node_modules/bootstrap/dist/js/bootstrap.js", "vendor/js"], true, function (err) {
    if (err) return console.error(err);
});
copyfiles(["node_modules/bootstrap/dist/css/bootstrap.css", "vendor/css"], true, function (err) {
    if (err) return console.error(err);
});
Run Code Online (Sandbox Code Playgroud)

prestart钩子触发: …

javascript node.js twitter-bootstrap node-webkit

5
推荐指数
1
解决办法
1005
查看次数