制作 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  .

运行镜像chris:v1  容器名字为 yunshui,端口暴露80,内部端口8080,顺序不能变,最后为镜像名字,开始为容器名字。

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文件的更多相关文章

  1. 运行java的class文件方法详解

    一.运行class文件 执行带main方法的class文件,命令行为:java <CLASS文件名>注意:CLASS文件名不要带文件后缀.class 例如: 复制代码代码如下: java ...

  2. 批处理判断是否存在文件,存在则运行另外一个bat文件

    现在需求如下: 使用bat文件判断是否存在ktr文件,存在则运行pan.bat,执行kettle脚本. 代码如下: @echo off @title 批处理判断文件夹是否存在 cd /d F: rem ...

  3. Java程序的编写与执行、Java新手常见问题及解决方法|乐字节Java学习

    今天,我们来写一段Java程序.然后看看Java程序是如何执行的,以及Java新手小白遇到的问题和解决办法.   一.HelloWorld的编写 ① 新建一个XXX.java (文件的扩展名显示出来) ...

  4. IDEA部署项目,并结合Shell脚本运行Java程序

    一.概述 在实际开发中,我们写好的代码,往往打成war包或jar包,通过winscp或其他软件将其上传至服务器,然而这样非常大的一个弊端就是不利于开发,为什么这么说呢?假如我们刚刚将springboo ...

  5. 在 Sublime Text 3 中配置编译和运行 Java 程序

    参考网址:http://www.open-open.com/lib/view/open1388105023765.html 1. 设置 java 的 PATH 环境变量 2. 创建批处理或 Shell ...

  6. 配置Eclipse支持java和xml文件的代码补全功能

    百度经验:jingyan.baidu.com 本文介绍如何配置Eclipse,使得在编写代码时无论是*.java还是*.xml文件都能够通过使用ALT+/快捷键实现代码不全的功能. 本文实验环境为:W ...

  7. java代码实现输出指定以.java结尾的文件的绝对路径

    package 输出指定文件绝对路径; import java.io.File; /* * 需求:请大家把"E:\\JAVA语言"文件夹下全部的java结尾的文件的绝对路径给输出在 ...

  8. 使用Dockerfile文件构建基于centOS系统的tomcat镜像

    以下是Dockerfile的内容: #基础镜像 FROM centos #维护人员信息 MAINTAINER weigs "weigs1231@gmail.com" #设置工作目录 ...

  9. JavaSE 文件递归之删除&amp;获取文件夹文件夹中全部的以.jpg的文件的绝对路径

    1.递归删除文件 假设一个文件夹以下还有子文件夹,进行删除的话会 报错,这个时候要使用递归的方式来删除这个文件文件夹中的全部文件以及文件夹 package cn.itcast.digui; impor ...

  10. blade-boot操作之Idea使用Mave和Dockerfile文件推送到harbor仓库

    mvn clean package docker:build 错误提示: Failed to execute goal com.spotify:docker-maven-plugin:1.1.0:bu ...

随机推荐

  1. pytorch学习笔记四之训练分类器

      训练分类器¶   1. 数据¶   处理图像,文本,音频或视频数据时,可以使用将数据加载到 NumPy 数组中的标准 Python 包. 然后,将该数组转换为torch.*Tensor   对于图 ...

  2. 开发者进阶必备的9个Tips & Tricks!

    优秀的开发人员市场前景是十分广阔的,但想找到一份理想的工作,仅有代码知识是不够的.优秀的工程师应该是一个终身学习者.问题的创造性解决者,着迷于整个软件世界.要成为一名优秀的开发者,应该具备哪些品质并做 ...

  3. LeetCode-2039 网络空闲的时刻

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/the-time-when-the-network-becomes-idle 题目描述 给你一个有 ...

  4. Kubernetes 网络模型基础指南

    Kubernetes 是为运行分布式集群而建立的,分布式系统的本质使得网络成为 Kubernetes 的核心和必要组成部分,了解 Kubernetes 网络模型可以使你能够正确运行.监控和排查应用程序 ...

  5. Source Insight 4.0 常用快捷键小记

    1. 括号配对高亮:"在前括号左侧,后括号左侧" 双击鼠标左键,可以选定匹配括号和其中内容(<>,(),L{R},[]之间) 高亮当前单词 : F8 语法窗口(隐藏/显 ...

  6. axios 下载文件流或者预览在线pdf

    问题: 后端返回文件流,前端使用axios下载或者在线预览 下载文件流 import axios from 'axios' // 设置响应类型为blob axios.get('/api/app/xxx ...

  7. user-agent反反爬

    title: user-agent反反爬 author: 杨晓东 permalink: user-agent反反爬 date: 2021-10-02 11:27:04 categories: - 投篮 ...

  8. MySQL5.7升级版本到8.0

    升级二进制包安装的MySQL In-Place Upgrade(替代升级) 替代升级涉及到shutdown down旧版本的MySQL,用新版本的包替代旧版本的二进制包,用存在的数据文件目录重启MyS ...

  9. vue-cli-serve启动报错

    报错信息: > vue-cli-service serve INFO Starting development server... 10% building 2/2 modules 0 acti ...

  10. ABAP学习(35):常用Function

    ABAP Function ABAP Coding过程中比较好用的Function整理. 1.获取Domain信息 代码实例: "****************************** ...