docker maven 打包jar_使用docker将maven项目打包成镜像

最近工作中需要使用docker打包成镜像启动,所以有了这篇文章。

差点忘了,你的maven项目中首先要有配置docker打包

以下是maven项目的配置

1.pom文件中加入plugin

com.spotify

dockerfile-maven-plugin

${dockerfile-maven-plugin.version}

${docker.image.prefix}/${project.artifactId}

src/main/docker

/

${project.build.directory}

${project.build.finalName}.jar

2.在src/main/docker下建立dockerfile文件,内容如下:

FROM openjdk:8-jre

ENV SPRING_OUTPUT_ANSI_ENABLED=ALWAYS \

JAVA_OPTS=""

ADD *.jar app.jar

CMD echo "The application will start " && \

java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app.jar

EXPOSE 8080

上面这段代码意思是,使用jdk8运行环境,对外端口为8080。

以下是怎么使用docker打包

首先你需要有docker -_-||

1.先了解一下save命令。

docker save [OPTIONS] IMAGE [IMAGE…]

OPTIONS说明:

-o :输出到的文件。

2.使用maven打包。

mvn package docker:build

这里你将会生成一个项目名:项目版本号,例如:project:0.0.1;

3.使用docker run运行镜像。

①首先使用docker image ls,查看xxx.tar包的镜像名字

②使用docker run -p 8080:8080 imageName 就运行了。

如何将docker镜像保存至指定地址,使用docker save命令。

#保存到用户目录下

docker save -o ~/xxx.tar project:0.0.1

#或者可以使用这条

docker save project:0.0.1>~/xxx.tar

在其他电脑上,使用docker load加载tar包:

docker load -i xxx.tar 或者

docker load

在Linux上使用DockerMaven打包本地项目通常涉及以下几个步骤: 1. **设置环境**: - 安装Docker:确保你的系统已经安装了Docker,如果没有,可以从Docker官网下载并按照说明安装。 - 安装MavenMaven通常是通过包管理器如`apt-get`(Debian/Ubuntu)或`yum`(CentOS/RHEL)自动安装的,如果未安装,可以手动下载安装。 2. **创建Dockerfile**: - 创建一个名为`Dockerfile`的文件,在该文件,你需要指定基础镜像、复制你的Maven项目、设置工作目录、安装必要的依赖,以及运行`mvn package`命令来构建应用的JAR包。 ``` FROM maven:latest WORKDIR /app COPY . /app RUN mvn clean package -DskipTests ``` 3. **构建Docker镜像**: - 进入包含`Dockerfile`的目录,然后运行`docker build`命令来构建镜像。 ``` docker build -t your-image-name . ``` 其,`your-image-name`是你自定义的镜像标签。 4. **运行容器**: - 使用构建好的镜像运行一个新的容器,这将执行打包操作。 ``` docker run -it --rm your-image-name ``` `--rm`选项表示任务完后删除容器,`-it`则保持终端交互。 5. **查找生JAR包**: - 包会在`target/`目录下生,你可以通过容器内部的路径找到它,例如`/app/target/your-project-name.jar`。 **相关问题--:** 1. Dockerfile的RUN命令是什么意思? 2. 如何在Dockerfile添加额外的环境变量? 3. 如果我的项目依赖于非官方仓库的库,如何处理呢?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值