在Docker容器中运行一个Java应用程序,可以通过以下步骤进行:
- 编写Java应用程序:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
编译为HelloWorld.class。
- 构建Dockerfile:
Dockerfile
FROM openjdk:8-jdk-alpine
WORKDIR /app
COPY . .
ENTRYPOINT ["```", "HelloWorld"]
此Dockerfile构建基于openjdk:8-jdk-alpine的镜像,将当前目录中的代码复制到镜像,并指定“` HelloWorld为入口点。
- 构建镜像:
docker build -t ```-app .
- 运行容器:
docker run ```-app
输出:
Hello World!
- 将代码打包为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 .
运行新镜像,输出不变。
- 在Docker Compose中定义应用:
yaml
version: '3'
services:
-app:
build: .
image: “`-app
```
docker-compose run ```-app
可以一键运行应用。