docker 运行jar包
2023-07-04 09:13 ly772186472 阅读(2507) 评论(0) 编辑 收藏 举报https://juejin.cn/post/6844904167920975886
1.2 拉取Java镜像
docker pull openjdk:8u252
2. 运行Jar文件
Jar文件的存放路径为/project/file-server
执行命令生成容器启动Jar
docker run -d -p 9000:9000 -v /project/file-server:/project/file-server --name file-server openjdk:8u252 java -jar /project/file-server/FileServer.jar
-d
:后台运行-p
:端口映射-v /project/file-server:/project/file-server
: 将宿主机的路径映射到容器中--name
: 定义生成容器的名称
查看容器是否启动成功
3. 与传统的运行方式对比
使用传统的方式运行Jar文件,那么你需要在服务器上安装Java环境,再配置环境变量,最后再使用java -jar
命令运行Jar包。
而使用Java镜像这种方式运行Jar文件,相当于把安装Java环境和配置环境变量这个工作交给了Java镜像,其他的并没有什么区别
方法二:利用Docker创建镜像运行Jar文件
1. 创建Dockerfile文件
FROM java:8
MAINTAINER l666y
ADD xboot-fast-1.0-SNAPSHOT.jar xboot-server.jar
COPY application.yml application.yml
EXPOSE 8888
ENTRYPOINT ["java", "-jar", "xboot-server.jar"]
- FROM: 基础镜像,基于jdk8镜像开始
- MAINTAINER:作者
- ADD:将jar文件添加(复制)到镜像内,
FileServer.jar
源jar文件,file-server.jar
复制得到的jar文件。 - COPY: 将应用的配置文件也拷贝到镜像中。
- EXPOSE:声明端口
- ENTRYPOINT:docker启动时,运行的命令,这里容器启动时直接运行jar服务。
/
路径下。2. 构建镜像
先看Dockerfile所在的目录
在当前目录下执行命令:
docker build -f /home/door_lock/DockerFile . -t xboot-server:xboot
- xboot-server: 镜像的名称
- test: 镜像的
tag
,如果不写,则默认为latest
.
: 这个.
一定不能忘记,最后的.
代表本次执行的上下文路径,ADD FileServer.jar file-server.jar
,中间的FileServer.jar
在哪里,就是根据这个.
确定的,在上述Dockerfile,表示将当前文件夹下的FileServer.jar
和config
文件夹添加到容器中
运行镜像:
docker run -d --name xboot-server-online -v /home/door_lock/application.yml:/home/door_lock/ -p 8888:8888 -p 3389:3389 xboot-server:xboot
问题:
failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount4208394986/Dockerfile: no such file or directory
没有找到 dockerFile 文件
docker build -f /home/dockerProject/DockerFile . -t xboot-server:xboot
Docker日志位置
Docker容器的日志存储在/var/lib/docker/containers目录下。
每个容器都有一个唯一的ID,容器日志文件名称以该ID开头,并以标准输出输出到Docker日志文件中。
可以使用Docker logs命令查看指定容器的日志。通过添加--tail参数可以指定输出最新的日志行数