docker 文件编写,和jdk11运行java的Dockerfile文件
制作 docker文件
建立 Dockerfile 文件
拷贝jar文件到 新目录下
FROM openjdk:8
MAINTAINER TsuiChris COPY *.jar /app.jar EXPOSE 8080 ENTRYPOINT java -jar app.jar
运行编译,后面一个点 . 代表当前目录。 如果没有:及以后的,代表lastest TAG
docker build -t=chris:v1 .
docker run --name yunshui -p 80:8080 -d chris:v1
-d: 后台运行容器,并返回容器ID;
删除未使用的镜像
docker container prune
#进入运行的容器
docker exec -it 容器id /bin/bash
#重启容器
docker restart 容器id
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
#docker 的日志
docker logs -f 容器后面的名字
另外在容器id的名字*查找后,有个容器名字id+json.log 的文件,也是容器内部程序的日志。如java的运行打印的sql等。
#docker 监控
docker stats
docker attach 目前进入后,卡死不动。已过期,用exec代替
############
另一份Dockerfile 文件清单,其中app.jar 文件的ip,如mysql和redis的ip,需要指定为内网ip,不要用locahost或127等。否则连不上。
在tmp文件夹下 建立 Dockerfile 文件,另外此目录下还有清单中的字体文件。
FROM openjdk:11
MAINTAINER Tsui RUN mkdir -p /root/www/
copy *.jar /root/www/app.jar RUN mkdir -p /root/www/logs/
RUN mkdir -p /root/www/font/
RUN mkdir -p /root/www/pdf/
copy *.ttf /root/www/font/
copy *.ttc /root/www/font/ EXPOSE 8080
#ENTRYPOINT nohup java -jar /root/www/app.jar 1>/root/www/logs/access.log 2>/root/www/logs/errors.log # 基本无用,其中日志已定位到容器的json.log文件
ENTRYPOINT java -jar /root/www/app.jar
docker build -t=chris:v8 . // 注意后面有个 小 点。
运行(命令最后是镜像名字,开始name是容器的别名)
docker run -d --name chris-test -p 80:8080 chris:v8
另附一个启动多个java进程的
Dockerfile
FROM openjdk:11
MAINTAINER Tsui RUN mkdir -p /root/www/
copy *.jar /root/www/app.jar RUN mkdir -p /root/www/logs/
RUN mkdir -p /root/www/font/
RUN mkdir -p /root/www/pdf/
copy *.ttf /root/www/font/
copy *.ttc /root/www/font/
copy *.sh start.sh
run chmod +x start.sh EXPOSE 8090
EXPOSE 8080
ENTRYPOINT ["sh","/start.sh"]
start.sh
#!/bin/sh java -jar /root/www/app.jar --server.port=8080 &
java -jar /root/www/app.jar --server.port=8090 ~
~
构建
docker build -t=wh:7 . // 后面有个 小 点
运行
docker run -d --name chris -p 80:8080 -p 8090:8090 wh:7
查看运行命令
docker ps -a --no-trunc | grep container_name
docker 文件编写,和jdk11运行java的Dockerfile文件的更多相关文章
- 运行java的class文件方法详解
一.运行class文件 执行带main方法的class文件,命令行为:java <CLASS文件名>注意:CLASS文件名不要带文件后缀.class 例如: 复制代码代码如下: java ...
- 批处理判断是否存在文件,存在则运行另外一个bat文件
现在需求如下: 使用bat文件判断是否存在ktr文件,存在则运行pan.bat,执行kettle脚本. 代码如下: @echo off @title 批处理判断文件夹是否存在 cd /d F: rem ...
- Java程序的编写与执行、Java新手常见问题及解决方法|乐字节Java学习
今天,我们来写一段Java程序.然后看看Java程序是如何执行的,以及Java新手小白遇到的问题和解决办法. 一.HelloWorld的编写 ① 新建一个XXX.java (文件的扩展名显示出来) ...
- IDEA部署项目,并结合Shell脚本运行Java程序
一.概述 在实际开发中,我们写好的代码,往往打成war包或jar包,通过winscp或其他软件将其上传至服务器,然而这样非常大的一个弊端就是不利于开发,为什么这么说呢?假如我们刚刚将springboo ...
- 在 Sublime Text 3 中配置编译和运行 Java 程序
参考网址:http://www.open-open.com/lib/view/open1388105023765.html 1. 设置 java 的 PATH 环境变量 2. 创建批处理或 Shell ...
- 配置Eclipse支持java和xml文件的代码补全功能
百度经验:jingyan.baidu.com 本文介绍如何配置Eclipse,使得在编写代码时无论是*.java还是*.xml文件都能够通过使用ALT+/快捷键实现代码不全的功能. 本文实验环境为:W ...
- java代码实现输出指定以.java结尾的文件的绝对路径
package 输出指定文件绝对路径; import java.io.File; /* * 需求:请大家把"E:\\JAVA语言"文件夹下全部的java结尾的文件的绝对路径给输出在 ...
- 使用Dockerfile文件构建基于centOS系统的tomcat镜像
以下是Dockerfile的内容: #基础镜像 FROM centos #维护人员信息 MAINTAINER weigs "weigs1231@gmail.com" #设置工作目录 ...
- JavaSE 文件递归之删除&获取文件夹文件夹中全部的以.jpg的文件的绝对路径
1.递归删除文件 假设一个文件夹以下还有子文件夹,进行删除的话会 报错,这个时候要使用递归的方式来删除这个文件文件夹中的全部文件以及文件夹 package cn.itcast.digui; impor ...
- blade-boot操作之Idea使用Mave和Dockerfile文件推送到harbor仓库
mvn clean package docker:build 错误提示: Failed to execute goal com.spotify:docker-maven-plugin:1.1.0:bu ...
随机推荐
- Python实现XX短视频加密算法抓包分析及刷邀请
Python实现XX短视频加密算法抓包分析及刷邀请 出自:https://zhuanlan.zhihu.com/p/466929667?utm_id=0 Python彳余 一个会常常更新互联网,编程的 ...
- 项目管理 VS. 个人计划
注会考试临近,好好的安排一下自己的时间.做个小计划是很有必要的了. 突然想到一个软件也许可以帮到我的忙,那就微软提供的办公软件 Project,大学时候就知道Project软件的存在,但是始终没有机会 ...
- SSLCipherCheck_v1.4.2
Usage: sslciphercheck.exe -h <Host> -p <Port> -u <URL> -c <CSV File> -i < ...
- 初学银河麒麟linux笔记 第一章 虚拟机、麒麟系统、QT安装与运行
由于手头一个项目的QT软件开发需要在银河麒麟系统上运行,借此机会开始从头学习linux系统 首先下载虚拟机VMware 16和麒麟系统iso,这里参考的 https://blog.51cto.com/ ...
- Java基础学习:4、类和对象及方法
类:事物的描述.是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象. 对象:该类事物的实例.在Java中通过new进行创建.是一个真实世界中的实体.对象是一种个性的 ...
- Pytorch实战学习(四):加载数据集
<PyTorch深度学习实践>完结合集_哔哩哔哩_bilibili Dataset & Dataloader 1.Dataset & Dataloader作用 ※Datas ...
- 下载成功安装maven,卸载替换eclipse自带的报错的maven
博主呢用eclipse自带的maven新建了一格maven项目,结果报了下面的错误:Could not resolve archetype org.apache.maven.archetypes:ma ...
- 软件开发流程-路飞项目需求- pip永久换源-虚拟环境-路飞项目前后端创建-包导入-后端项目调整目录
目录 软件开发流程-路飞项目需求- pip永久换源-虚拟环境-路飞项目前后端创建-包导入-后端项目调整目录 今日内容概要 今日内容详细 1 软件开发流程 2 路飞项目需求 3 pip永久换源 4 虚拟 ...
- Jmeter学习:插件
第三方插件官方下载网址:https://jmeter-plugins.org/install/Install/ 第三方插件官方文档网址:https://jmeter-plugins.org/wiki/ ...
- 模拟ATM系统 —— 用户存款、取款、转账、修改密码和销户功能
接着上一篇: 5.用户存款功能 分析: *存款就是拿到当前账户对象 *然后让用户输入存款的金额 *调用账户对象的setMoney方法将账户余额修改成存钱后的余额 *存款后需要查询当前账户信息,确认是否 ...