docker-运行JavaWeb服务(jar包)

环境说明

linux系统版本:lsb_release -a

docker 版本: docker -v

 

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

 

查看dockermysql的版本,可以去官网,需要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

 

posted @ 2024-03-26 20:13  一只爱阅读的程序员  阅读(19)  评论(0编辑  收藏  举报