如何在Docker容器中运行一个Java应用程序?

在Docker容器中运行一个Java应用程序,可以通过以下步骤进行:

  1. 编写Java应用程序:
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

编译为HelloWorld.class。

  1. 构建Dockerfile:
Dockerfile
FROM openjdk:8-jdk-alpine
WORKDIR /app
COPY . .
ENTRYPOINT ["```", "HelloWorld"]

此Dockerfile构建基于openjdk:8-jdk-alpine的镜像,将当前目录中的代码复制到镜像,并指定“` HelloWorld为入口点。

  1. 构建镜像:
docker build -t ```-app .
  1. 运行容器:
docker run ```-app

输出:

Hello World!
  1. 将代码打包为JAR包并构建新镜像:
    使用如下命令将代码打包为JAR包:
```c HelloWorld.```
jar cvfe HelloWorld.jar HelloWorld HelloWorld.class  

更新Dockerfile:

Dockerfile
FROM openjdk:8-jdk-alpine
WORKDIR /app
COPY HelloWorld.jar . 
ENTRYPOINT ["```","-jar","HelloWorld.jar"]

构建新镜像:

docker build -t ```-app .  

运行新镜像,输出不变。

  1. 在Docker Compose中定义应用:
yaml
version: '3'
services:

-app:
build: .
image: “`-app

```
docker-compose run ```-app  

可以一键运行应用。