Docker封装Java环境镜像(Alpine+OpenJDK)
在给Java程序封装镜像时,使用的基础镜像动辄上百M,还需要每次部署的时候挂载时区等问题,不如自己封装一个镜像,供之后使用。
这里使用Alpine Linux(3.9) 安装OpenJDK 1.8及部分常用工具并修改时区:
文末提供Dockerfile
拉取alpine镜像
# docker pull alpine
运行并进入容器
# docker run -itd --name alpine-java alpine
# docker exec -it alpine-java sh
安装OpenJDK等
# apk update
# apk add openjdk8 busybox tzdata curl
修改时间
# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# date
这里系统时间虽然修改过来了,但是之后运行Java程序时,时间任然相差8小时,所以需要添加如下
修改Java时区
# echo Asia/Shanghai > /etc/timezone
# apk del tzdata
# rm -rf /tmp/* /var/cache/apk/*
封装镜像并推送到仓库
# docker commit alpine-java ×××debiaobiao/alpine-java
# docker push ×××debiaobiao/alpine-java
懒的朋友可以直接拉做好的:
docker pull ×××debiaobiao/alpine-java
Dockerfile:
From alpine
MAINTAINER ×××debiaobiao
RUN apk update &&
apk add openjdk8 curl busybox tzdata &&
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&
echo Asia/Shanghai > /etc/timezone &&
apk del tzdata &&
rm -rf /tmp/* /var/cache/apk/*
Docker封装Java环境镜像(Alpine+OpenJDK)的更多相关文章
- Docker 封装java镜像
一.概述 目前java采用的框架是Spring,服务器直接通过 java -jar xxx.jar 就可以启动服务了. 二.jdk镜像 在docker中跑java应用,需要有jdk环境支持才行. 获取 ...
- docker构建Java环境
FROM java:7 COPY . /usr/src/javaapp WORKDIR /usr/src/javaapp RUN javac HelloWorld.java CMD ["ja ...
- 在Centos7下docker配置自动化环境镜像(python3.7+selenium 3.11+firefox 62+geckodriver 0.21)
最近在学习Docker,准备做自动化测试代码集成的功能.如下文章的前提是已经安装好linux系统,且成功安装好Docker. 接下来我会按步骤一步一步的对自动化需要的一些环境进行安装,如果没有特别说明 ...
- docker java环境 直接做成镜像 跑自己的java包
yum install docker #基于阿里源 可以直接下载 systemctl restart docker ifconfig #出现 docker0 说明环境部署成功 docker ver ...
- 使用 Docker 搭建 Java Web 运行环境
黄勇的博客 Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐 ...
- 转:使用 Docker 搭建 Java Web 运行环境
原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...
- 使用 Docker 搭建 Java Web 运行环境(转)
原文 http://www.importnew.com/21798.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几 ...
- Java程序运行在Docker等容器环境有哪些新问题
基本回答 一. 对于Java来说,Docker毕竟是一个较新的环境,其内存.CPU等资源限制是通过ControlGroup实现的.早期的JDK版本并不能识别这些限制,进而会导致一些基础问题. 1.如 ...
- Docker Java程序镜像制作
Docker Java程序镜像制作 制作前的准备 jre:不需要完整的jdk,jre即可,到Oracle进行下载即可,下载链接,根据自己的情况进行选择,这里选择jre-8u221-linux-x64. ...
- 使用Docker搭建Java Web运行环境
这周末体验了一下挺火的Docker技术,记录学习笔记. >Docker是干什么的 Docker 是一个基于Linux容器(LXC-linux container)的高级容器引擎,基于go语言开发 ...
随机推荐
- .NET云原生应用实践(一):从搭建项目框架结构开始
开篇 很早之前就想做一套案例,介绍.NET下如何从零开始搭建一个云原生的应用程序.不过这个话题有点大,会要包含很多内容.我本打算从新建一个ASP.NET Core Web API应用程序开始介绍,但又 ...
- 墨天轮访谈 | Pika数据库陈磊:云时代下,键值数据库是否会被替代?
分享嘉宾:陈磊 开源数据库Pika项目PMC核心人员 整理:墨天轮社区 导读 大家好,今天我分享的主题是:KV数据库,云时代的文件存储. 随着AI和机器学习等技术的发展,数据演变为了十分宝贵的资源,数 ...
- kotlin更多语言结构——>选择加入要求
1.3.70 中引入了 @RequireOptIn 与 @OptIn 注解以取代先前使用的 @Experimental 与 @UseExperimental;同时 -Xopt-in 编译器选项也取代了 ...
- WebAssembly 基础以及结合其他编程语言
0x00 WebAssembly 基础 详情参考<WebAssembly | MDN> (1)概述 WebAssembly 简称 WASM 或 WA,是一种新的编码方式,可以在现代的 We ...
- SegmentFault 基于 Kubernetes 的容器化与持续交付实践
本文是根据 KubeSphere 云原生 Meetup 杭州站讲师祁宁分享内容整理而成. SegmentFault 是一家综合性技术社区,由于它的内容跟编程技术紧密相关,因此访问量的波动也和这一群体的 ...
- Nuxt.js 应用中的 build:before 事件钩子详解
title: Nuxt.js 应用中的 build:before 事件钩子详解 date: 2024/10/20 updated: 2024/10/20 author: cmdragon excerp ...
- 开源之夏 2023|欢迎报名 Apache RocketMQ 社区项目!
开源之夏是由中科院软件所"开源软件供应链点亮计划"发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬 ...
- Nuxt.js 应用中的 components:dirs 事件钩子详解
title: Nuxt.js 应用中的 components:dirs 事件钩子详解 date: 2024/10/31 updated: 2024/10/31 author: cmdragon exc ...
- Dash 2.18.2版本更新:模式匹配回调性能大提升
本文示例代码已上传至我的Github仓库:https://github.com/CNFeffery/dash-master Gitee同步仓库地址:https://gitee.com/cnfeffer ...
- 终于找到了英特尔CPU缩缸的原因!如何自救?
地址: https://www.youtube.com/watch?v=D0wOiillq_A