【Docker for Java Developers】教程文章相关的互联网学习教程文章

记一场由docker容器“ java.lang.OutOfMemoryError”引发的环境“雪崩”【代码】

问题描述: 2019.9.16下午2:40左右环境出现故障,功能无法正常运行。 马上进行排查1、基础服务端口运行都是正常的2、查看环境上最近有新发版的三个微服务,发现都在不同频率的打印这句日志: 2019-09-16 14:42:41,626 INFO [DubboMonitor.java:80] : [DUBBO] Send statistics to monitor zookeeper://192.168.1.101:2181/com.alibaba.dubbo.monitor.MonitorService?anyhost=true&application=dubbo-monitor&check=false&delay=-1&...

如何为Java应用程序构建docker容器【代码】

我想要做的是为我的Java应用程序构建一个docker镜像,但对于大多数编译语言,以下注意事项应该是正确的. 问题 在我的构建服务器上,我想为我的应用程序生成一个docker镜像作为可交付成果.为此,我必须使用一些构建工具(通常是Gradle,Maven或Ant)编译应用程序,然后将创建的JAR文件添加到docker镜像.因为我希望docker镜像只执行JAR文件,我当然会从已安装Java的基本映像开始. 有三种方法可以做到这一点: 让构建工具控制进程 在这种情况下...

java – Docker(Spring Boot或Thorntail)和Keycloak【代码】

我在Docker容器中运行Spring Boot和Keycloak时出现问题. 我开始使用Keycloak和mysql作为db在docker中运行.services:mysql:image: mysql:5.7container_name: mysqlvolumes:- mysql_data:/var/lib/mysqlenvironment:MYSQL_ROOT_PASSWORD: rootMYSQL_DATABASE: keycloakMYSQL_USER: keycloakMYSQL_PASSWORD: passwordnetworks:- testNetworkkeycloak:image: jboss/keycloakcontainer_name: keycloakrestart: on-failurevolumes:- ./co...

java – 如何从docker命令行设置参数来配置spring boot应用程序?【代码】

我有一个带有yml的spring boot应用程序,可以在docker containter中配置它.像这样的东西:spring: application:name: micro-exampleconfig:uri: ${vcap.services.config-service.credentials.uri:http://xxx.xxx.xx.73:8888}正如你所看到的,我的配置中有一个ip硬编码,这是一个坏主意,因为编译仅适用于服务器.是否存在外部化ip的方法,或者从docker命令行或更好的想法设置它?解决方法:有很多不同的方法可以做到: 1)设置环境变量(在...

java – 将db容器与spring boot连接起来并获取环境变量的Docker【代码】

我在docker中有一个springboot应用程序容器和mongodb容器.docker run -p 27017:27017 -d --name myMongo mongo所以我首先运行mongodb容器,然后运行springboot容器.docker run -p 8080:8080 --name mySpringApp --link myMongo:mongodb mySpringApp之后我想在springboot app中获取环境变量.MONGODB_PORT=tcp://172.17.0.5:27017 MONGODB_PORT_5432_TCP=tcp://172.17.0.5:27017 MONGODB_PORT_5432_TCP_PROTO=tcp MONGODB_PORT_5432_T...

java – 无法在Docker Image中安装R包【代码】

似乎由于法律原因,Java无法在docker镜像中单独安装,而是我们必须使用java镜像. 我正在使用一个java映像,根据需要安装了R,但是当我安装R包时出现错误 这是我的Dockerfile如下:FROM buildpack-deps:jessie-scm# A few problems with compiling Java from source: # 1. Oracle. Licensing prevents us from redistributing the official JDK. # 2. Compiling OpenJDK also requires the JDK to be installed, and it gets # ...

java – 使用Spring Boot的Docker和Eureka无法注册客户端【代码】

我有一个使用Spring Boot Docker Compose Eureka的非常简单的演示. 我的服务器在端口8671上运行,具有以下应用程序属性:server:port: 8761 eureka:instance:prefer-ip-address: trueclient:registerWithEureka: falsefetchRegistry: falseserver:waitTimeInMsWhenSyncEmpty: 0我的Eureka客户端在端口9000上运行,具有以下应用程序属性:server:port: 9000 spring:application:name: user-registration eureka:client:registerWithEu...

java – Jenkins:无法运行程序“docker”:error = 2,没有这样的文件或目录【代码】

我在我的本地机器上安装了Jenkins,它在MacOS High Sierra上运行并安装了docker.我正在尝试运行一个使用docker的简单管道示例.我在管道中添加了以下行:pipeline {agent {docker { image 'node:7-alpine' }}stages {stage('Test') {steps {sh 'node --version'}}} }然后从WebGUI,我现在点击构建,它失败了.控制台输出显示错误如下:java.io.IOException: error=2, No such file or directoryat java.lang.UNIXProcess.forkAndExec(Na...

java – docker镜像可以使用来自主机的可执行文件吗?

我有几个Java服务,每个服务打包为一个单独的jar文件.我计划将其打包为docker图像.我是否需要在每个映像上捆绑Java运行时,或者我可以依赖主机(将运行映像)已经具有Java运行时的事实?解决方法:您可以使用卷将Java运行时从主机安装到容器中,但这会使容器的可移植性降低(正如Andrew Fox指出的那样). 相反,如果您为容器使用公共基本映像(如java:8-jre),则映像将在容器之间共享,这意味着磁盘上只有一个副本(每个容器不是一个副本). 在这...

Docker Java 例子

版权所有,未经许可,禁止转载章节Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container) Docker 容器操作 Docker 容器shell Docker Dockerfile Docker 构建镜像(docker build) Docker Dockerfile指令 Docker 例子Docker Java 例子 Docker PHP 例子 Docker Python 例子 Docker Ubuntu 例子 Docker NGINX 例子Docker Compose Docker 网络正如我们前面提到的,docker可以执行任...

Java 8 终于支持 Docker!【图】

Java 8曾经与Docker无法很好地兼容性,现在问题已消失。 请注意:我在本文中使用采用GNU GPL v2许可证的OpenJDK官方docker映像。在Oracle Java SE中,这里描述的docker支持功能在更新191中引入。Oracle在2019年4月更改了Java 8更新的许可证,自Java SE 8 Update 211以来商业使用不再免费。 你是否遇到过在docker中运行的基于JVM的应用程序出现“随机”故障?或者也许是一些奇怪的死机?两者都可能是Java 8(仍广泛使用的)中糟糕的...

docker部署java应用程序

安装docker 脚本安装:docker-install.sh文件 #!/bin/sh #install curlapt-get updateapt-get install -y curl #install-dockercurl -fsSL get.docker.com -o get-docker.sh ? ? ? ? ——将get.docker.com上的文件写到本地文件get-docker.sh中sh get-docker.sh --mirror Aliyun ? ? ?? ——执行get-docker.sh #install speedercurl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://573b0ee5.m.daocloud.io? ...

如何检查Docker容器的Java版本?【代码】

我正在使用由同事提供的外部图像构建的容器.整个应用程序是生产环境的测试实例.我需要知道哪个版本的Java在容器中运行.我认为这是这样的:docker container_name java -version但这不是一个恰当的命令.我将非常感谢您的帮助和建议如何检查.解决方法:您需要执行“远程”命令排序,想象您的主机操作系统上有另一个子系统. 要做到这一点,你可以做到 docker exec container_name java -version – 来自docker的文档docker exec – run ...

Docker和Java 9模块【代码】

是否有针对特定Java 9模块的Docker镜像? 我想应该出现FROM java:9的基本图像,但是如果我的基础是来自最小的核心Java 9模块,可选模块将如何出现.解决方法:这是一个例子:FROM java:9COPY /target/myswarmproject-swarm.jar /home/myswarm-swarm.jarEXPOSE 8080CMD java -jar /home/myswarmproject-swarm.jar以前的dockerfile示例适用于wildfly swarm项目,该项目作为.jar部署到容器中.

java – 使用Spring Boot和Docker的外部属性文件【代码】

我无法使用Spring Boot配置Dockerfile以使用外部属性文件.这是我的Dockerfile:FROM java:8-jre VOLUME /tmp /var/gpm/config ADD gpm-web-1.0.jar app.jar RUN bash -c 'touch /app.jar' ENTRYPOINT ["java","-cp","/var/gpm/config","-Dspring.config.location=classpath:application.properties","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]在我的主机中,我有这个属性文件的路径:/var/gpm/config/applicat...