首页 > 其他分享 >docker使用alpine构建jdk21镜像

docker使用alpine构建jdk21镜像

时间:2024-04-04 20:44:40浏览次数:31  
标签:jdk21 app ENV 镜像 docker war alpine

1,Dockerfile

# 使用 Alpine Linux 作为基础镜像
FROM alpine:latest

# 设置语言环境变量为中文
ENV LANG=zh_CN.UTF-8

# 安装所需的软件包,包括中文字体和中文语言支持
RUN apk add --no-cache \
        ttf-dejavu \
        fontconfig \
        tzdata \
        openjdk21 \
        && \
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo "Asia/Shanghai" > /etc/timezone

# 设置 JAVA_HOME 环境变量
ENV JAVA_HOME=/usr/lib/jvm/default-jvm

2,构建镜像

docker build -t ejiyuan/openjdk:21-jdk-alpine .

得到了一个基于alpine包含jdk21的docker镜像,下面就可以使用了

3,使用

FROM ejiyuan/openjdk:21-jdk-alpine
VOLUME /data
ADD maven/oa-0.0.1-SNAPSHOT.war app.war
RUN sh -c 'touch /app.war'
ENV JAVA_OPTS=""
ENV spring.profiles.active="prod"
ENTRYPOINT ["java","-jar","/app.war"]

 

标签:jdk21,app,ENV,镜像,docker,war,alpine
From: https://www.cnblogs.com/ejiyuan/p/18114574

相关文章

  • 手搓Docker-Image-Creator(DIC)工具(04):DIC的代码实现
    此系列的前3篇主要是介绍了Docker的应用、Docker编排文件Dockerfile的常用命令、以及Docker镜像的构建过程等都进行简单介绍。尤其在第3篇,讲述了Docker运行时、安装用等资源,并在文末提出了存在的不足和改进的方向,本篇就直接从代码开始介绍如何使用DIC工具来......
  • 迁移Docker镜像存放目录
    Docker镜像的默认目录为/var/lib/docker下的子目录image,假设换到新的目录/data1/docker,可按如下步骤操作:1、停掉docker守护进程:systemctlstopdocker2、创建新的镜像存放目录:mkdir-p/data1/docker3、创建或编辑Docker的配置文件/etc/docker/daemon.json:#cat......
  • [ERROR] [Entrypoint]: Unable to start server 记录一次-docker-运行mysql-报错
    环境说明linux系统版本:lsb_release-a  docker版本:docker-v 不同的操作系统以及软件版本,可能会遇到不一样的问题,一定要注意版本问题。  mysql版本:5.7  .1.问题复现。使用命令启动mysql服务 dockerrun--name=mysql-it\-p3306:3308\-eMYSQL......
  • Docker中安装PostgreSQL
    要在Docker中安装PostgreSQL,你可以按照以下步骤操作:首先,确保你已经安装了Docker。如果没有安装,请先安装Docker。使用以下命令在Docker中拉取PostgreSQL镜像:dockerpullpostgres创建并运行PostgreSQL容器:dockerrun--namemy_postgres-ePOSTGRES_PASSWORD=myse......
  • ShardingJDBC-5.3实现读写分离,构建主从MySQL数据库,Docker部署Mysql8.0
      最近在做一个项目需要搭建MySQL主从架构,采用ShardingJDBC5.3实现MySQL读写分离,本文记录一下搭建流程。基于Docker创建主从架构#创建主从数据库文件夹mkdir-p/usr/local/mysql/master1/confmkdir-p/usr/local/mysql/master1/datamkdir-p/usr/local/mysql/s......
  • docker简单介绍
    当人们说“Docker”时,他们通常是指DockerEngine,它是一个客户端-服务器应用程序,由Docker守护进程、一个RESTAPI指定与守护进程交互的接口、和一个命令行接口(CLI)与守护进程通信(通过封装RESTAPI)。DockerEngine从CLI中接受docker命令,例如dockerrun、dockerps来列出正......
  • Docker 知识汇总
    Docker知识汇总docker学习docker概述docker安装docker命令镜像命令容器命令操作命令dockers镜像容器数据卷dockerfile编写dockerfile构建文件,命令大写(源代码)#docker指令FROM#基础镜像,一切从这里开始MAINTAINER#镜......
  • docker 应用部署
    参考:docker构建nginx服务环境Redhat9步骤:1、docker部署MySQL安装yum工具包[root@admin~]#yum-yinstallyum-utils.noarch正在更新SubscriptionManagement软件仓库。无法读取客户身份本系统尚未在权利服务器中注册。可使用subscription-manager进行注......
  • 【Docker基础系列】Docker 中的各类端口详解
    【Docker基础系列】Docker中的各类端口功能示例详解源自专栏《docker常用命令系列&&k8s系列目录导航》文章目录【Docker基础系列】Docker中的各类端口功能示例详解概念端口类型分类:**容器端口(ContainerPorts)**:**宿主机端口(HostPorts)**:**随机端口(RandomPor......
  • 如何使用Docker中构建Java jar包,并且实现开启自启
    Docker中构建JavaJAR包要在Docker容器中构建Java应用程序的JAR包,你可以遵循以下步骤:创建一个Dockerfile:在你的项目根目录下创建一个名为Dockerfile的文件,用来定义Docker镜像的构建过程。#使用官方的Java11镜像作为基础镜像FROMopenjdk:11#设置工作目录WORK......