Dockerfile精编细作(五)编辑可应用到正式环境的Dockerfile并构建java项目
java项目
构建Dockerfile
在root目录下创建目录 mkdir myproject
进入myproject创建Dockerfile文件
将可运行的jar包复制到myproject目录下。点击下载可用jar包
编写Dockerfile,vim Dockerfile或 vi Dockerfile
- 此centos-jdk是Dockerfile精编细作(四)中的镜像,生产环境可以自己重新编辑定制一个使用自己环境的镜像,因此镜像不支持中文,会出现中文乱码
- 需要的是jar 需要与Dockerfile在同一个目录下,否则需要指定jar包路径
ADD /root/myproject/$APP_NAME-1.0.0.jar /home/admin/$APP_NAME/$APP_NAME-1.0.0.jar
# 基于centos镜像
FROM centos-jdk8
# 创建别名即项目名称
ENV APP_NAME demo
# 创建用户的主目录 不要将此用户添加到最近登录和登录失败数据库
RUN adduser -create-home --no-log-init --shell /bin/bash admin
# 指定容器启动的用户
USER admin
# 输出结果到/home/admin/start.sh文件中;
# “chmod +x”:/home/admin/start.sh给执行的权限;
# “mkdir -p”:递归创建logs目录;
# “chmod -R 777”:将当前目录下所有文件及目录和目录下的文件权限修改成可读可写可执行
RUN echo “java -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms128m -Xmx128m -Xmn128m -Xss512k ->XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -jar /home/admin/$APP_NAME/$APP_NAME->1.0.0.jar”>>/home/admin/start.sh &&
chmod +x /home/admin/start.sh &&
mkdir -p /home/admin/logs/ &&
chmod -R 777 /home/admin/logs/# 将需要执行的包文件copy到执行目录中
ADD $APP_NAME-0.0.1.jar /home/admin/$APP_NAME/$APP_NAME-1.0.0.jar
# logs文件夹数据的持久化
VOLUME /home/admin/logs/
# 设置工作目录
WORKDIR /home/admin/
# 容器启动时要执行的命令
CMD [“sh”,"/home/admin/start.sh"]
# 对外暴漏端口 纯提示作用
EXPOSE 8080构建镜像
docker build -it demo .
查看镜像
运行镜像 docker run -d -p 8080:8080 demo
执行查询接口,检查是否可以成功访问
进入容器查看日志
Dockerfile精编细作(五)编辑可应用到正式环境的Dockerfile并构建java项目相关推荐
- Dockerfile精编细作(一)基础概念及命令
什么是Dockerfile Dockerfile是用来构建Docker镜像的构建文件,是由一些列的命令和参数构成的脚本 构建步骤 编写Dockerfile文件 docker build生成镜像 doc ...
- Dockerfile精编细作(二)构建一个简单的镜像
Bash镜像说明 例如:CentOS的Dockerfile中FROM serach dockerHub上几乎所有的镜像都是通过bash镜像中安装和配置需要的软件构建出来的 构建一个简单的镜像 构建一个 ...
- Dockerfile精编细作(三)CMD与ENTRYPOINT区别
命令解释 1.CMD CMD指令的参数是指定容器启动时要执行的命令 CMD 为 ENTRYPOINT 指令提供默认参数 Dockerfile中可以有多个CMD的命令,但是只有最后一个生效,CMD会被d ...
- Dockerfile精编细作(四)构建centos并配置jdk环境
下载jdk Oracle官方下载 .csdn下载 创建目录 :mkdir -p /root/mycentos/dockerFile 将下载好的jdk复制到dockerFile目录下 在dockerFi ...
- Dockerfile精编细作(六)四种网络模式bridge、host、container、none
查看网卡信息 查看ip信息:centos7:ip add或ip addr lo:localhost网卡 ens33:对外网卡以太网,本机ip docker0:docker容器和宿主机通信的网卡,Doc ...
- (五)springmvc+mybatis+dubbo+zookeeper分布式架构 整合 - maven构建根项目
上一篇我们介绍<springmvc+mybatis+dubbo+zookeeper分布式架构 整合 - maven模块规划>,从今天开始,我们将对代码的每一个构建做详细的记录,能够帮助大家 ...
- Oracle 精编实用手册
<Oracle精编实用手册> by Else 序章 第1章 Oracle 基础概念 1.1 数据库简介 1.2 Oracle 简介 第2章 Oracle 建立和介绍 2.1 Oracle ...
- 前端网站资源精编!!
前端网站资源精编!! 目录: 1-------- 走进前端 2-------- jQuery 3-------- CSS 4-------- Angularjs 5-------- ES6 6---- ...
- 精编,精讲,精练,精益求精---AP微积分第10版在精雕细琢反复打磨中与你相遇
精编,精讲,精练,精益求精-AP微积分第10版在精雕细琢反复打磨中与你相遇 AP微积分是美国大学38个专业的必修与选修课程,登陆中国以来,发展迅猛,汹涌澎湃,几乎成为高中留学生必选的课程,然而AP微积 ...
最新文章
- centos7 ssr一键脚本_RHEL7(Centos7)下使用shell脚本一键部署服务
- spring入门详细教程(五)
- JVM运行时数据区和各个区域的作用
- 前端学习(2982):实现商品功能列表
- Opencv undefined reference to `cv::imread() Ubuntu编译
- 20天涨幅600%!深交所:天山生物或涉嫌新型股价操纵行为
- 系统学习深度学习(三十三)--Prioritized Replay DQN
- 再看中国互联网web2.0百强名单
- 最小二乘法用计算机求经验回归方程,最小二乘法求线性回归方程.doc
- 高校机房建设 云服务器 终端,学校云机房建设使用NComputing微型终端机解决方案...
- 【查看Python导入包的地址】
- 郑轻OJ:1153: 简易版最长序列
- 我的工作随手记(一)
- Java语言每日一练—第10天:谁是胖子
- 100以内的质数及100以内质数的和
- 截取中国天气网天气信息(转)
- Centos6.3挂载移动硬盘,新硬盘方法
- jQuery——bootstrap概述
- swin transformer 转 onnx
- 在Ubuntu16.04 中安装g2o并运行g2o_viewer
热门文章
- 计算机系统包含计算机硬件和,一个完备的计算机系统应该包含计算机的硬件和软件...
- 国家卫生健康委办公厅关于印发医院智慧管理分级评估标准体系(试行)的通知
- 百度地图-自定义搜索、自定义marker、地图选址实用实例
- 师兄刷题笔记、算法小抄、面试突击版必备资源,帮你走上人生巅峰
- 【源码产品】企业官网PHP建站大气科技网络软件开发自适应系统源码
- IFNULL() 函数
- 苹果如何分屏_iOS14正式版升级更新,支持大部分苹果手机
- 【从零开始玩量化15】如何计算历史行情分位点
- 暂缓海外建站、关停拍拍二手入口等调整后 重新聚焦电商业务的京东Q1财报亮眼...
- linux修改访问权限命令