新linux docker 下部署springboot项目

废话不多说

如果没安装docker 的可以去我文章里找。
首先,自己去建一个springboot 项目,这步我省略了。

pom.xml 中添加

 <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!-- docker 插件 -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <!-- 指的是镜像构建后,docker 仓库中镜像的名字 -->
                    <imageName>springboot/${project.artifactId}</imageName>
                    <!-- 指的是DockerFile 文件在此项目中的路径 -->
                    <dockerDirectory>src/main/docker</dockerDirectory>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
        </plugins>
    </build>

新建Dockerfile

# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER GOOD_O3Ax <xxxxxxx@sina.cn>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp 
# 将jar包添加到容器中并更名为app.jar
ADD docker-demo.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

#FROM:指定存在的镜像,java:8是我刚刚拉取的镜像,运行的基础。
#VOLUME:指向的一个临时文件,用于存储tomcat工作。
#ADD:复制文件并且重命名文件。
#ENTRYPOINT:初始化配置或者自定义配置。

XxxApplication.java

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
 
@SpringBootApplication
@RestController
public class DockerDemoApplication {
 
	public static void main(String[] args) {
		SpringApplication.run(DockerDemoApplication.class, args);
	}
 
	@GetMapping("/test")
	public String test(){
 
		return "Hello Docker World!";
	}
}

以上工作在本地准备好,那接下来,我们注意力放到docker 上就好了。

提醒:不需要特意的去 拉去jdk .在构建镜像的时候会顺便pull下
1.创建文件夹docker,存放Dockerfile和已经打包好的springboot项目jar
在这里插入图片描述

2.执行命令构建镜像

docker build -t docker-demo .

在这一步的时候我报了个错如下:

error pulling image configuration: Get https://registry-1.docker.io/v2/library/redis/blobs/sha256:7e

问题及解决方案

然后继续执行
在这里插入图片描述
(圈红部分,是因为之前我没有构建过 jdk )
在这里插入图片描述
3. 使用命令查看构建好的镜像

docker images

在这里插入图片描述
4.启动镜像

docker run -d -p 8081:8081 docker-demo # 启动
 
docker ps  # 查看正在运行的镜像
-d 指定容器在后台运行;
-p 9091:9091用于将容器内的8081端口映射到主机的8081端口,也可以换成其他本机端口。

5:访问浏览器
在这里插入图片描述
6:查看日志命令
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Linux系统下,我们可以使用Docker部署Spring Boot 3和JDK 17。 首先,我们需要在Linux中安装Docker。可以根据具体的Linux发行版来选择不同的安装方式。安装完成后,我们可以通过运行以下命令来验证Docker安装是否成功: ``` docker --version ``` 接下来,我们需要创建一个Docker镜像来运行我们的Spring Boot 3应用程序。首先,我们需要创建一个Dockerfile,可以使用任何文本编辑器来创建一个名为“Dockerfile”的文件。在Dockerfile中,我们可以定义我们的镜像的构建过程。以下是一个简单的Dockerfile示例: ``` FROM openjdk:17-jdk-alpine WORKDIR /app COPY target/springboot3-app.jar /app CMD ["java", "-jar", "springboot3-app.jar"] ``` 在这个Dockerfile中,我们首先选择了一个基础镜像(openjdk:17-jdk-alpine),其中包含了JDK 17的安装。然后,我们定义了工作目录为“/app”,将Spring Boot 3应用程序的JAR文件复制到工作目录中,并使用CMD命令定义了镜像启动时要运行的命令。 在创建了Dockerfile后,我们可以使用以下命令来构建Docker镜像: ``` docker build -t springboot3-app . ``` 这将会在当前目录下构建一个名为“springboot3-app”的Docker镜像。 最后,我们可以使用以下命令来运行我们的应用程序容器: ``` docker run -p 8080:8080 springboot3-app ``` 这将会将容器的8080端口映射到主机的8080端口,并运行我们的Spring Boot 3应用程序。 通过以上步骤,我们可以在Linux系统中使用Docker快速部署和运行Spring Boot 3和JDK 17。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值