使用docker运行springboot项目

##使用docker运行springboot项目

  • 首先需要你有springboot可运行的jar包
    ###创建容器
    创建容器我们使用的是dockfile文件创建。对于springboot内置了tomcat,所以我们只配置jdk即可。
  • dockfile

# 版本信息
FROM centos
MAINTAINER locutus "zjgjian123456@gmail.com"

# OS环境配置
RUN yum install -y wget

# 安装JDK
RUN mkdir /var/tmp/jdk
RUN wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"  -P /var/tmp/jdk http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/jdk-8u172-linux-x64.tar.gz
RUN tar xzf /var/tmp/jdk/jdk-8u172-linux-x64.tar.gz -C /var/tmp/jdk && rm -rf /var/tmp/jdk/jdk-8u172-linux-x64.tar.gz

#设置环境变量
ENV JAVA_HOME /var/tmp/jdk/jdk1.8.0_172
ENV CATALINA_HOME /var/tmp/tomcat/apache-tomcat-8.5.8
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

#开启内部服务端口
EXPOSE 8080

#将springboot的jar包添加进来
ADD docker_spring_boot.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

对于jdk我使用的是wget在线获取了,而获取链接是我现在的jdk的下载链接,对于看到这篇文章的访客,那个时候连接未必是这个,所以你们有可能需要找到你们需要的jdk版本的下载链接,替换掉它,同样的环境变量版本号也要替换。

###创建
使用命令docker build -t dockerspringboot . 注意命令最后有个小数点。
这里写图片描述
这里写图片描述
使用docker images可看到创建的dockerspringboot容器。

###运行
使用命令docker run -d -p 8080:8080 dockerspringboot运行刚刚创建的容器。
然后访问你的springboot项目就可以看到访问成功。
这里写图片描述

### 回答1: 要在Docker运行Spring Boot项目,您需要完成以下步骤: 1. 创建Dockerfile:在项目根目录中创建一个名为Dockerfile的文件,并添加以下内容: ``` FROM openjdk:8-jdk-alpine VOLUME /tmp ADD target/<your-project-name>.jar app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] ``` 2. 构建Docker镜像:在终端中进入项目根目录,并运行以下命令: ``` docker build -t <your-image-name> . ``` 3. 运行Docker容器:运行以下命令来启动Docker容器: ``` docker run -p 808:808 <your-image-name> ``` 现在,您的Spring Boot应用程序应该在Docker容器中运行,并且可以通过http://localhost:808访问。 ### 回答2: Docker是一种流行的容器化平台,它能够将应用程序与其依赖的运行库和环境一起打包进一个镜像,使得应用程序可以在所有支持Docker的平台上运行,无需考虑底层系统的不同性。 Spring Boot是一个用于快速构建应用程序的开发框架,它具有自动配置、内嵌web容器等强大的特性,使得开发者能够快速开发、测试和部署应用程序。 将Spring Boot项目部署至Docker容器中,需要按照以下步骤进行: 1. 编写dockerfile文件 在项目根目录中创建一个名为dockerfile的文件,用于指定如何构建Docker镜像。下面是一个示例: ``` FROM openjdk:14-alpine VOLUME /tmp ARG JAR_FILE=target/*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"] ``` 在上述文件中,我们首先指定基础镜像为openjdk:14-alpine,然后指定一个工作目录/tmp,接着利用ARG关键字指定应用的JAR文件名,然后将JAR文件复制到容器中,最后指定容器启动时执行的命令。 2. 构建Docker镜像 使用以下命令在当前目录下构建Docker镜像: ``` docker build -t my-app-image . ``` 其中,-t选项为镜像指定名称和标签,最后的"."表示dockerfile所在目录。 3. 运行Docker容器 运行以下命令以创建一个新容器并启动应用程序: ``` docker run -p 8080:8080 my-app-image ``` 上述命令将容器中的8080端口映射到主机的8080端口,使得应用程序可以通过http://localhost:8080访问。 4. 查看Docker容器 使用以下命令查看当前正在运行的容器: ``` docker ps ``` 可以看到刚才启动的容器ID、镜像名称、命令、状态等信息。 通过以上步骤,就可以将Spring Boot项目部署至Docker容器中运行,实现应用程序的可移植性和高可靠性。同时,Docker还提供了大量的管理和监控工具,使得容器的管理变得更加简单和便捷。 ### 回答3: Docker是现代开发中不可或缺的一部分。通过Docker,您可以构建、部署和管理容器化的应用程序。Spring Boot是一个用于构建Java应用程序的框架,可以通过Docker运行Spring Boot项目。下面我们将详细讨论如何运行Spring Boot项目。 第一步:创建Spring Boot应用程序 首先,我们需要创建一个基于Spring Boot的应用程序。完成以后,将应用程序打包成可执行的JAR包。 第二步:编写Dockerfile 我们需要编写Dockerfile文件来构建Docker映像文件。Dockerfile是定义Docker映像文件构建过程的脚本。在Dockerfile中,我们需要指定要使用的基础映像、将JAR包添加到映像中、指定容器中运行该应用程序时使用的端口号等。以下是一个简单的Dockerfile示例: ``` FROM openjdk:8-jdk-alpine MAINTAINER 作者 VOLUME /tmp ARG DEPENDENCY=target/dependency COPY ${DEPENDENCY}/BOOT-INF/lib /app/lib COPY ${DEPENDENCY}/META-INF /app/META-INF COPY ${DEPENDENCY}/BOOT-INF/classes /app ENTRYPOINT ["java","-cp","app:app/lib/*","com.example.MyApplication"] ``` 第三步:构建Docker映像 我们需要使用docker build命令将Dockerfile转换为Docker映像: ``` $ docker build -t my_image . ``` 这个命令将为我们的应用程序创建一个名为“my_image”的Docker映像文件。 第四步:运行Docker映像 现在,我们只需要使用docker run命令来运行这个映像并启动应用程序。我们还需要使用-p参数指定要映射到主机的端口号。 ``` docker run -p 8080:8080 my_image ``` 现在,我们的Spring Boot应用程序已经在Docker容器中运行了,我们可以通过浏览器访问它。只需在浏览器中输入http://localhost:8080即可访问我们的应用程序。 总结 通过Docker容器化Spring Boot应用程序,我们可以更容易地部署、管理和升级应用程序。我们可以使用Docker构建和保存应用程序的镜像,以便在需要时轻松部署和运行应用程序。以上是如何运行Spring Boot项目的一个简单示例,但您可以根据自己的需要进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值