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 3795
ADD xboot-fast-1.0-SNAPSHOT.jar xboot-server.jar
COPY config config
EXPOSE 9000
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 -t file-server:test .
- file-server: 镜像的名称
- test: 镜像的
tag
,如果不写,则默认为latest
.
: 这个.
一定不能忘记,最后的.
代表本次执行的上下文路径,ADD FileServer.jar file-server.jar
,中间的FileServer.jar
在哪里,就是根据这个.
确定的,在上述Dockerfile,表示将当前文件夹下的FileServer.jar
和config
文件夹添加到容器中
运行镜像:
docker run -d --name file-server-test -p 9000:9000 -v /project/file-server:/project/file-server file-server:test
问题:
failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount4208394986/Dockerfile: no such file or directory
没有找到 dockerFile 文件
docker build -f /home/dockerProject/DockerFile .docker build -f /home/dockerProject/DockerFile . -t xboot-server:xboot
标签:jar,server,project,file,镜像,docker,运行 From: https://www.cnblogs.com/liyanxi/p/17523755.html