如何基于openeuler 24.03 LTS基础镜像制作JAVA应用镜像

根据安全可靠测评结果公告,当前欧拉系统已经通过安合可靠的测评,后续在各服务器应用领域都可能会用到欧拉操作系统,比起centos,fedora更适合服务器的搭建。

本文主要介绍,如果基于最新的LTS版本制作JAVA容器化应用镜像。

1、安装docker环境

(1)正常方式:

使用centos的相关docker-ce包

sudo dnf -y install dnf-plugins-core
	
sudo dnf config-manager --add-repo=https://repo.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo

sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin

sudo systemctl start docker
sudo systemctl enable docker

其中要注意版本的对应关系

当前euler 24.03可以应用的centos的版本是9,

将/etc/yum.repos.d/docker-ce.repo中的仓库地址及操作系统版本进行替换,加速下载。


sed -i 's+download.docker.com+repo.huaweicloud.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
sed -i 's+$releasever+9+' /etc/yum.repos.d/docker-ce.repo

(2)在euler系统:其中的 docker-engine中集成了docker-ce相关的包

sudo dnf install docker

2、编辑JAVA应用的Dockerfile

(1)引用基础镜像openeuler:24.03,hub.oepkgs.net在国内下载速度快一些

(2)加入jdk,使用openjdk,建议从清华大学的镜像仓库中下载,也是速度快

wget https://mirrors.tuna.tsinghua.edu.cn/Adoptium/19/jdk/x64/linux/OpenJDK19U-jdk_x64_linux_hotspot_19.0.2_7.tar.gz

ADD jdk-19.0.2+7 /app/jdk-19.0.2+7

ENV JAVA_HOME=/app/jdk-19.0.2+7
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH

(3)加入JAVA spring应用

ADD test-0.0.1-SNAPSHOT.jar /app/

这里使用spring 简单搭建了一个应用

@RestController
public class Controller {

    @GetMapping("/")
    public Mono<String> hello() { 
        return Mono.just("Welcome to reactive world~");  
    }
}

(4)定义JAVA应用的启动方式及暴露端口


ENTRYPOINT ["java","-jar","/app/test-0.0.1-SNAPSHOT.jar"]

EXPOSE 8080

整体Dockerfile内容

​

FROM hub.oepkgs.net/openeuler/openeuler:24.03


WORKDIR /app

ADD jdk-19.0.2+7 /app/jdk-19.0.2+7
ADD test-0.0.1-SNAPSHOT.jar /app/

ENV JAVA_HOME=/app/jdk-19.0.2+7
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH

ENTRYPOINT ["java","-jar","/app/test-0.0.1-SNAPSHOT.jar"]

EXPOSE 8080

[点击并拖拽以移动]
​

3、制作JAVA应用容器镜像

 docker build -t testapp:1.0.1 .

测试镜像

docker run -p 8080:8080 -d testapp:1.0.1

验证测试curl

curl localhost:8080
Welcome to reactive world~

3、导出应用容器镜像

docker image save testapp:1.0.10 -o testapp1.0.10.tar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值