当前位置: 首页 > news >正文

Docker使用之java项目工程的部署

Docker使用之java项目工程的部署

若容器存在请先停止,在删除,然后删除镜像重新编译

//停止容器
sudo docker stop datatransfer//删除容器
sudo docker rm datatransfer//删除镜像
sudo docker rmi hrtransfer

复制java项目工程文件jar包到 /apps/demo.jar

在 /apps/ 目录创建 Dockerfile文件,输入以下内容

FROM openjdk:8
#作者
MAINTAINER songchuanfu
#将 与Dockerfile文件同目录的demo.jar文件复制到镜像中(Linux操作系统的根目录)名称为 app.jar
ADD demo_docker-0.0.1-SNAPSHOT.jar app.jar
#让 运行镜像的容器 去监听9000端口
EXPOSE 8085
#同步docker的时区
#RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
#镜像启动时运行 java -jar /app.jar命令
ENTRYPOINT ["java","-jar","/app.jar"]

docker自动更新脚本

新建updateDocker.sh写入以下内容

echo "welcome to use docker reBuild"
echo "停止容器"
sudo docker stop yilianserver_instanceecho "删除容器"
sudo docker rm yilianserver_instanceecho "删除镜像"
sudo docker rmi yilianserverecho "打包docker"
sudo docker build -t yilianserver .echo "运行docker"
sudo docker run -d -it --name yilianserver_instance -p 8085:8085 yilianserverecho "运行docker"
sudo docker start yilianserver_instance
打包docker
docker build -t hrtransfer .运动docker并开启两个端口
docker run -d -it --name datatransfer -p 9000:9000 -p 9001:9001 hrtransfer//运行docker
docker start datatransfer//查看日志
docker logs datatransfer //实时查看docker容器日志docker logs -f -t --tail 222 datatransfer 查看docker文件
sudo docker exec -it datatransfer ls -l /容器里面拷文件到宿主机
sudo docker cp datatransfer:/logs /home/hadoop/Log宿主机拷文件到容器里面
docker cp /opt/test.js datatransfer:/usr/local/tomcat/webapps/test/js//显示容器使用的内存、cpu资源
docker stats //显示容器使用的系统资源
docker system df -v//修改docker时间//查看每个容器占用的磁盘空间呢
docker system df -v

修改Docker容器的时间和宿主时间一致

1、首先进入到容器中:
docker exec -it  datatransfer /bin/bash2、在容器中修改下/etc/localtime文件的名称,避免冲突。
cd /etc/ 
mv /etc/localtime /etc/localtime_bak
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date

查看高能耗进程

精简镜像的doker先安装相关工具

相关文章:

  • Linux操作系统-汇编LED驱动程序基础
  • FX-数组的使用
  • 【OCR】OCR开源文字识别工具
  • 力扣大厂热门面试算法题 33-35
  • [CISCN2019 华北赛区 Day1 Web5]CyberPunk --不会编程的崽
  • OPTIONS请求(跨域预检查)
  • Android 12.0 系统修改usb连接电脑mtp和PTP的显示名称
  • [概率论]期中考AB卷题目答案及详解
  • IDEA 配置阿里规范检测
  • Visio 2003简体中文版软件安装教程(附软件下载地址)
  • 【大模型学习记录】db-gpt源码安装问题汇总
  • 计算机毕业设计-基于Python的“哔哩哔哩视频网”视频热度分析
  • Python爬虫-数据采集和处理
  • Linux初识环境变量
  • HarmonyOS4.0—自定义渐变导航栏开发教程
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 30秒的PHP代码片段(1)数组 - Array
  • 4个实用的微服务测试策略
  • Electron入门介绍
  • ES6简单总结(搭配简单的讲解和小案例)
  • javascript 哈希表
  • JS变量作用域
  • laravel 用artisan创建自己的模板
  • OSS Web直传 (文件图片)
  • python 装饰器(一)
  • Sass Day-01
  • spring boot 整合mybatis 无法输出sql的问题
  • spring security oauth2 password授权模式
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • vue-cli在webpack的配置文件探究
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 包装类对象
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • # Java NIO(一)FileChannel
  • #Lua:Lua调用C++生成的DLL库
  • #stm32驱动外设模块总结w5500模块
  • (4)(4.6) Triducer
  • (zhuan) 一些RL的文献(及笔记)
  • (ZT)一个美国文科博士的YardLife
  • (zt)最盛行的警世狂言(爆笑)
  • (分布式缓存)Redis持久化
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .NET 依赖注入和配置系统
  • .NET 中让 Task 支持带超时的异步等待
  • .stream().map与.stream().flatMap的使用
  • @JsonFormat与@DateTimeFormat注解的使用
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • [ C++ ] STL---stack与queue