首页 > 编程语言 >docker-运行JavaWeb服务(jar包)

docker-运行JavaWeb服务(jar包)

时间:2024-03-26 20:22:31浏览次数:30  
标签:java 8081 -- jar 镜像 docker JavaWeb

环境说明

linux系统版本:lsb_release -a

docker 版本: docker -v

 

不同的操作系统以及软件版本,可能会遇到不一样的问题,一定要注意版本问题。

 

查看docker中 mysql的版本,可以去官网,需要kx上网才能打开。

https://hub.docker.com/

 

最好是确认自己的服务器已经设置阿里云的镜像加速,或者使用腾讯的,网易的都是可以的。

自己选,设置之后下载镜像的速度回快很多。

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

  "registry-mirrors": ["https://registry-vpc.cn-hangzhou.aliyuncs.com"]

}

EOF

 

查看自己的windows电脑上面安装的jdk版本,为JDK1.8,因此拉取的Java镜像服务也最好是JDK1.8的版本。

 

 

然后去官网查找对应的镜像资源。

 

建议最好选择官方的镜像,避免出现一些奇奇怪怪的问题。

 

由于JDK8现在开始收费,因此只能使用OpenJDK的镜像。

 

.1.拉取Java镜像.

docker pull java:openjdk-8

执行时报错

 

 

接着把名字更换为openjdk:8 ,镜像下载成功。

 

.2.运行java容器。

.a.先创建一个Java目录.

 

.b.在本地准备一个可运行的jar包,并且在本地可以正确访问。

 

 

.c.将jar包上传到服务器上,使用Java镜像启动服务。

 

 

启动服务,命令如下

docker run -d -p 8081:8081 -v /opt/u01/exam/java/WebBackend.jar:/project/WebBackend.jar \

--name exam openjdk:8 \

java -jar /project/WebBackend.jar

或者下面的命令

docker run -d -p 8081:8081 -v /opt/u01/exam/java:/project \

--name exam openjdk:8 \

java -jar /project/WebBackend.jar

 

参数说明:

docker run 表示运行docker 容器

-d 表示以后台模式运行

-p 8081:8081 表示将宿主机上的8081端口映射到java容器中的8081端口

 -v /opt/u01/exam/java/WebBackend.jar:/project/WebBackend.jar 表示将宿主机上的jar包文件挂载到Java容器中

 -v /opt/u01/exam/java:/project 表示将宿主机上的路径挂载到Java容器中

--name exam 表示给容器服务取一个名称

openjdk:8 表示镜像名,使用镜像ID同样可以

java -jar /project/WebBackend.jar 表示jar包的启动命令,注意路径是java容器中的路径。

建议:直接挂载路径比较好,因为运行JavaWeb服务时,还需要打印日志。

 

 

查看JDK版本

docker exec -it 容器名或者ID  /bin/bash

 

 

.d.登录阿里云服务器打开8081端口。

控制台-->我的资源-->点击(实例)进入-->安全组-->安全组详情-->手动添加(入站规则) ,如下图所示

 

.3.访问测试。

 

 

访问成功。

 

补充:关于日志路径的配置。

自己使用的是logback打印日志,简单配置示例如下。

 

 

运行服务后,就会自动生成日志目录和日志,并且同样可以使用 taif -f 日志文件名 动态地查看日志

 

到此,使用docker 部署jar包并查看日志全部完成。

遇到的问题:docker 貌似不能单独部署一个java容器,需要运行具体的服务,比如执行一个Java文件,

启动一个JavaWeb服务等等。有知道的技术大佬欢迎指教!

 

参考博文

https://juejin.cn/post/7249647793898586172

https://blog.csdn.net/weixin_43471518/article/details/126541339

https://juejin.cn/post/6844904167920975886

https://hub.docker.com/_/java/tags?page=1&ordering=last_updated&name=openjdk-8

 

标签:java,8081,--,jar,镜像,docker,JavaWeb
From: https://www.cnblogs.com/yilangcode/p/18097477

相关文章

  • Docker搭建LNMP环境实战(05):CentOS环境安装Docker-CE
    前面几篇文章讲了那么多似乎和Docker无关的实战操作,本篇总算开始说到Docker了。1、关于Docker1.1、什么是DockerDocker概念就是大概了解一下就可以,还是引用一下百度百科吧:Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然......
  • Docker搭建持续集成平台Jenkins最简教程
    前言持续集成(ContinuousIntegration,CI)是软件开发中的一种实践,它旨在通过频繁地集成代码变更并自动运行测试,以确保代码的质量和稳定性。Jenkins是一个广泛使用的开源持续集成工具,它能够自动化构建、测试和部署软件项目。在本文中,我们将使用Docker搭建一个基于Jenkins的持续......
  • 尚硅谷全新JavaWeb教程,企业主流javaweb技术栈【学习笔记】下
    尚硅谷全新JavaWeb教程,企业主流javaweb技术栈【学习笔记】上-CSDN博客 第五章XML_Tomcat10_HTTP 一XMLXML是EXtensibleMarkupLanguage的缩写,翻译过来就是可扩展标i记语言。所以很明显,XML和HTML一样都是标记语言,也就是说它们的基本语法都是标签。可扩展三个字表面上......
  • docker compose 启动 redis
    redis.ymlversion:"2.4"services:redis:image:redis:6.2.1container_name:redisenvironment:-TZ=Asia/Shanghai#-redisPWD=cl0udsuit1privileged:truepid:"host"network_mode:"ho......
  • 一次快速使用docker安装mysql8.0记录(配置和数据挂载到指定目录)
    mkdir/home/mysql8vim/home/my.cnf[mysql]#设置mysql客户端默认字符集default-character-set=UTF8MB4[mysqld]port=3307max_connections=200max_connect_errors=10#修改加密方式,因为mysql8.x版本默认的密码加密的方式,Navicat识别不了,需修改为mysql_native_password......
  • Mendix 构建Docker镜像
      1、使用最新版MendixDockerBuildpackhttps://github.com/mendix/docker-mendix-buildpack/tree/latest2、克隆最新版Buildpack,修改<TAG>这里会产生一个docker-mendix-buildpack文件夹,以后所有的工作都在这个文件夹下进行gitclone--branch<TAG>--......
  • 宝塔面板安装docker问题
    宝塔面板安装问题问题背景腾讯云轻量应用服务器构建宝塔面板版本7.9通过服务器终端安装docker及docker-compose,服务正常启动了,但是宝塔面板页面提示:“当前未安装docker或docker-compose”解决方式服务器终端执行如下命令Compose_Download_Url="http://download.bt.cn/install/s......
  • javaWeb项目-快捷酒店信息管理系统功能介绍
    开发工具:IDEA、Eclipse编程语言:Java数据库:MySQL5.7+框架:ssm、Springboot前端:Vue、ElementUI关键技术:springboot、SSM、vue、MYSQL、MAVEN数据库工具:Navicat、SQLyog项目关键技术 1、JSP技术JSP(Java脚本页面)是Sun和许多参与建立的公司所提倡的动态web技术。Ja......
  • JavaWeb学习笔记——第五天
    请求响应概述前端控制器(核心控制器)DispatcherServlet:它实现了Servlet接口,可以被Tomcat程序识别。浏览器发起的请求会先通过DispatcherServlet,由DispatcherServlet将请求转给后方的controller程序进行处理,处理完成后,controller程序再将处理完的结果返回给DispatcherServlet,最后......
  • 从零开始写 Docker(九)---实现 mydocker ps 查看运行中的容器
    本文为从零开始写Docker系列第九篇,实现类似dockerps的功能,使得我们能够查询到后台运行中的所有容器。完整代码见:https://github.com/lixd/mydocker欢迎Star推荐阅读以下文章对docker基本实现有一个大致认识:核心原理:深入理解Docker核心原理:Namespace、Cgroups......