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

Docker 运行 jar

拉取 Java 运行环境

docker pull hub.c.163.com/library/java:8
复制代码

创建 Dockerfile 文件

FROM hub.c.163.com/library/java:8

# 定义变量
ENV VERTICLE_FILE vertx-kt-3.5.0-fat.jar
ENV VERTICLE_CONFIG config.json
ENV VERTICLE_HOME /usr/verticles
ENV VERTICLE_LOG /usr/verticles/logs

EXPOSE 8080

# 从主机 copy 到容器里面
COPY $VERTICLE_FILE $VERTICLE_HOME/
COPY $VERTICLE_CONFIG $VERTICLE_HOME/

WORKDIR $VERTICLE_HOME
ENTRYPOINT ["sh", "-c"]
CMD ["java -Dvertx.logger-delegate-factory-class-name=io.vertx.core.logging.Log4j2LogDelegateFactory -jar $VERTICLE_FILE -conf $VERTICLE_CONFIG"]
复制代码

这里运行的是 Vert.x jar 所以命令行启动参数较长

build

docker build -t helloworld:1.0 .
复制代码

注意后面有个 . 表示当前目录,相关 jar和配置文件都在当前目录下。

查看自己制作的镜像

docker images
复制代码

运行镜像

 docker run -d -p 8080:8080 -v /root/demo/log:/usr/verticles/logs helloworld:1.0
复制代码
  • -v 后面表示映射文件路径 : 前面表示本机路径,后面表示容器内的路径
  • -d 表示在后台运行
  • -p 表示端口映射

遇到的问题

日志打印出的时间不对,需要在运行的时候加一个参数就可以了

docker run -d -p 8080:8080 -v /etc/localtime:/etc/localtime:ro -v /root/demo/log:/usr/verticles/logs helloworld:1.0
复制代码

相关文章:

  • 在区块链上表白——使用C#将一句话放入比特币的区块链上
  • Powershell for循环语句示例
  • 关于C#中随机数的生成问题
  • 梦断代码阅读笔记01
  • JSON 之 SuperObject(11): TSuperTableString、TSuperAvlEntry
  • js中Object.create作用,什么时候用?和new是什么区别
  • 分享Silverlight/Windows8/WPF/WP7/HTML5一周学习导读(5月6日-5月12日)
  • 【289】◀▶ Python I/O 读写文本文件
  • Model to Text工具Acceleo使用教程(三)——一个简单的代码生成模块
  • UVa11426 最大公约数之和(正版)
  • mac os下通过命令行的方式编译c++代码并在xcode里引用
  • 房地产英语 Real estate词汇
  • 根据Forms名找出其所归属的权限组
  • oss web直传
  • dd-wrt达到300Mbps的关键设置
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • CSS实用技巧
  • hadoop集群管理系统搭建规划说明
  • Java 网络编程(2):UDP 的使用
  • Java精华积累:初学者都应该搞懂的问题
  • JS+CSS实现数字滚动
  • Node项目之评分系统(二)- 数据库设计
  • PaddlePaddle-GitHub的正确打开姿势
  • React中的“虫洞”——Context
  • Vue2 SSR 的优化之旅
  • Vue官网教程学习过程中值得记录的一些事情
  • 高性能JavaScript阅读简记(三)
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 开发基于以太坊智能合约的DApp
  • 双管齐下,VMware的容器新战略
  • 追踪解析 FutureTask 源码
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (31)对象的克隆
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (三分钟)速览传统边缘检测算子
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)甲方乙方——赵民谈找工作
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .dwp和.webpart的区别
  • .Net 6.0 处理跨域的方式
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NET的数据绑定
  • /etc/sudoers (root权限管理)
  • ??在JSP中,java和JavaScript如何交互?
  • @Mapper作用
  • @NoArgsConstructor和@AllArgsConstructor,@Builder
  • [2015][note]基于薄向列液晶层的可调谐THz fishnet超材料快速开关——
  • [BZOJ1053][HAOI2007]反素数ant
  • [C]整形提升(转载)
  • [C++ 从入门到精通] 12.重载运算符、赋值运算符重载、析构函数
  • [C语言]——C语言常见概念(1)
  • [Go WebSocket] 多房间的聊天室(三)自动清理无人房间