Tag: Java

在Docker中运行Ignite(是:一般的Java-Docker问题)

我试图在git中提交的Docker容器(Mac OS X,Docker 1.9.1)中运行点火: # Start from a Java image. FROM java:7 # Ignite version ENV IGNITE_VERSION 1.5.0-b1 WORKDIR /opt/ignite ADD http://www.us.apache.org/dist/ignite/1.5.0-b1/apache-ignite-fabric-1.5.0-b1-bin.zip /opt/ignite/ignite.zip # Ignite home ENV IGNITE_HOME /opt/ignite/apache-ignite-fabric-1.5.0-b1-bin RUN unzip ignite.zip RUN rm ignite.zip # Copy sh files and set permission ADD ./run.sh $IGNITE_HOME/ RUN chmod +x $IGNITE_HOME/run.sh CMD $IGNITE_HOME/run.sh 在将其本地构build到apache/ignite并使用以下命令运行映像后,容器“挂起” docker run –expose=4700-4800 […]

通过链接的docker容器从nginx到jetty传递正确的ip

我有两个docker容器运行,一个是nginx接受http和https请求,并将它们传递给另一个是docker容器。 自从我切换到docker工人后,我注意到了一个问题。 我无法得到正确的请求IP。 docker应用程序检查请求IP以确保请求来自特定的服务器。 在Servlet中,我使用下面的代码来获取IP: protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { … String remoteIpAddress = request.getRemoteAddr(); … } 但是我得到了IP 172.17.0.x,这似乎是来自docker的IP,而不是来自请求者的预期IP。 我的docker图像运行以下参数: docker run -d –read-only –name=jetty -v /tmp -v /run/jetty jetty:9 docker run -d –read-only –name=nginx –link jetty:jetty -v /var/run -p 80:80 -p 443:443 nginx 重要的部分是 – –link参数,在那里我把docker连接到nginx。 在nginxconfiguration中,我定义了一个代理传递给jetty: proxy_set_header Host […]

在docker集装箱尤里卡:未知的主机例外

我试图启动尤里卡服务器通过docker容器上的春季启动,并得到以下exception“unknownhostexception”。 现在在eureka config.properties文件中,我使用hostname作为本地主机,但是exception显示它以某种方式使用容器的主机名,而不是使用我在eureka属性文件中定义的主机名。 而且,即使使用容器定义的主机名,它也能正确parsing容器,并且在/ etc / hosts中有入口。 注意 : 这只有在使用oracle java 7/8时才是可重现的,但是在openjdk 7中可以正常工作。任何线索可能是这里的问题。 已尝试在eureka属性中使用localhost的127.0.0.1,但没有成功。 尤里卡configuration文件内容: # Configure this Discovery Server eureka: instance: hostname: localhost client: # Not a client, don't register with yourself registerWithEureka: false fetchRegistry: false server: port: 1111 # HTTP (Tomcat) port exception堆栈跟踪: 2016-01-11 20:04:54 INFO RegistrationServer:47 – Starting RegistrationServer v0.0.1-SNAPSHOT with PID […]

在Docker中运行的框架不能从本地主机访问

我在Ubuntu 14.04 ,使用docker在Java中运行Play Framework应用程序。 用于自动化构build的工具是ingensi-play-framework 。 在docker中启动应用程序的命令是 docker run -d -v /path/to/play/project:/app:rw -P ingensi/play-framework 取自上述链接。 在这之后,当我运行docker ps ,我得到这个: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3eb2285118dc ingensi/play-framework "activator run" 14 minutes ago Up 14 minutes 0.0.0.0:32785->8888/tcp, 0.0.0.0:32784->9000/tcp hungry_hopper 我打localhost:32784 ,我得到的消息 This webpage is not available ERR_CONNECTION_RESET 在Google Chrome上。 我在互联网上search,但无济于事。 请帮忙。

无法连接到暴露的Docker端口

我使用最新的Docker Toolbox在OS X上运行Docker。 Docker version 1.10.2, build c3959b1 docker-machine version 0.6.0, build e27fb87 docker-compose version 1.6.0, build d99cad6 我有一个从下面的Dockerfile构build的容器中的Java应用程序: FROM <my internal registry>/java:8 ENTRYPOINT ["java", "-cp", "/var/app/scheduler/scheduler-jar-with-dependencies.jar", "com.myapp.scheduler.Application"] 和docker-compose.yml: scheduler: image: <my internal registry>/scheduler command: -Dspring.profiles.active=local -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5050 environment: TERM: xterm ports: – "4567:4567" # http port – "5050:5050" # java debug port volumes: – $SCHEDULER_GIT_ROOT/target:/var/app/scheduler […]

使用bmuschko / gradle-docker-plugin进行Gradle清理任务

我正在尝试创build一个Gradle任务,它将运行一个clean,一个build,然后从bmuschko / gradle-docker-plugin插件运行buildDockerImage任务。 我可以在命令行的单独命令中成功运行干净的任务,构build任务和buildDockerImage任务,但是当我尝试创build完成这三个任务的单个任务时,出现错误: …/config-server/build/docker/state/DockerBuildImage_Decorated (No such file or directory) 它看起来像gradle-docker-plugin正试图添加某种types的日志文件到/ build / docker / state目录,但是当我在一个任务中运行clean,build和buildDockerImage时,该目录不存在。 但是,当我在CLI中将这些命令作为单独的命令运行时,目录是存在的。 这工作 如果我不尝试清理…它正常工作,docker图像被创build: import com.bmuschko.gradle.docker.tasks.image.DockerBuildImage task buildDockerImage(type: DockerBuildImage) { doFirst { copy { from 'src/main/resources/docker/Dockerfile' into 'build/libs' } } inputDir = project.file('build/libs') tag = alexFabian + "/" + jar.baseName } task myBuildDockerImage(type: Task, dependsOn: ['build' ,'buildDockerImage']) { buildDockerImage.mustRunAfter build […]

JMeter – docker – java.net.connectexception

我正在尝试在AWS EC2实例中使用JMeter进行分布式负载testing。 我有1个主人和2个奴隶。 所有的都是Ubuntu的实例。 他们都安装了java和jmeter。 我能够成功地执行在奴隶没有问题的testing。 (当我不使用docker)(JMeter使用RMI来控制奴隶) 现在,我正在考虑在奴隶中使用docker工人,因为我可能会添加更多的奴隶。 我不想每次都设置从机。 因此,docker似乎是一个不错的select。 在docker集装箱,一切似乎都是正确的,所有必要的港口都是开放的。 问题: 每当我使用docker容器在从站运行Jmeter服务器,如果我尝试从主连接到它,它会抛出java.net.connectexception connection refused connect <ip address>错误。 如果我从主机telnet到从机,它能够成功连接。 我的dockerfile: FROM ubuntu RUN apt-get update RUN apt-get -y install wget RUN apt-get -y install default-jre RUN mkdir /jmeter RUN cd /jmeter/ ; wget http://www.us.apache.org/dist//jmeter/binaries/apache-jmeter-2.13.tgz ; tar -xzf apache-jmeter-2.13.tgz ; rm apache-jmeter-2.13.tgz ENV JMETER_HOME /jmeter/apache-jmeter-2.13/ ENV […]

在我运行一个java程序后,Docker停止响应

我在Ubuntu上有一个Docker实例:14.04。 我已经安装了Java和一切。 现在我正在容器中运行一个简单的“HelloWorld.java”代码。 我在用 docker run -it –cpuset-mems="0" mt-docking-engine /bin/bash 进入容器内。 有一次,我在里面可以做很多事情。 但一旦我运行“HelloWorld.java”程序使用 javac HelloWorld.java java -cp . HelloWorld 它给了我“你好,世界!” 输出(迄今为止很好)。 但是然后它卡住了。 正如我所做的那样,我甚至无法正常从docker内部退出(通过CTRL + C)。 没有任何工作 为什么发生这种情况? 我究竟做错了什么?

当用户尝试执行javac时,构buildDocker镜像失败

我正在尝试创build一个Dockerfile,但是如果我添加一个用户,它在构build过程中会一直失败。 如果我删除用户,图像的构build过程就成功了,但是我需要用户,因为这是我正在使用的代码环境引擎的一个要求。 Dockerfile: FROM java MAINTAINER DavidRenz RUN groupadd app -g 9000 && useradd -g 9000 -u 9000 -r -s /bin/false app VOLUME /code WORKDIR /code COPY . /usr/src/app USER app RUN javac /usr/src/app/bin/Pmd.java CMD ["java", "/usr/src/app/bin/Pmd"] 日志: Step 7 : USER app —> Running in 896795a6bb63 —> 09c5179159a8 Removing intermediate container 896795a6bb63 Step 8 […]

Docker Java内存使用情况

我有一些理解Docker Java容器如何为主机使用内存的问题。 我给容器JVMselect "JAVA_OPTS=-XX:MaxMetaspaceSize=1024m -Xms=512m -Xmx=1024m -XX:PermSize=512m -XX:MaxPermSize=1024m " 但是,当我在容器上运行Docker统计信息时,我发现MEM USAGE是1.6GB docker是否为容器的JVM部分分配内存? 你通常限制容器的内存限制吗?