Idea中使用Docker部署SpringBoot项目
前言
项目需要:
- 安装Docker
- idea中安装docker插件,并配置docker
- 一个SpringBoot项目
- 创建Dockerfile
一、下载、安装、配置Docker
下载Docker
下载地址:官网下载 Docker
安装
一直下一步就行
配置
- 路径:Settings–General 勾选
Expose daemon on tcp://localhost:2375 without TLS
- 设置镜像,提高下载镜像的速度
https://xaiqlt1z.mirror.aliyuncs.com
测试是否安装成功
C:\Users\msi>docker -v
Docker version 19.03.12, build 48a66213fe
C:\Users\msi> docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
二、Idea 安装Docker插件
1.安装docker插件
在idea中: file--Plugins--Marketplace 搜索 Docker 安装2.配置Docker服务
file – 搜索docker – 选择Docker – 右侧添加一个Docker
Connection successful 显示,表示 Docker链接成功
三、创建SpringBoot项目,修改pom.xml
- springMVC 项目,访问 localhost:8080/hello 显示 hello 字符串
@RequestMapping("/hello")
@ResponseBody
public String hello () {
return "hello";
}
- 配置pom.xml 文件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version> 1.2.1</version>
<executions>
<execution>
<id>build-image</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
<configuration>
<imageName>${project.artifactId}</imageName>
<imageTags>
<imageTag>latest</imageTag>
</imageTags>
<dockerDirectory>${project.basedir}</dockerDirectory>
<dockerHost>http://localhost:2375</dockerHost>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
创建Docker 文件
-
在main文件夹下创建一个docker文件夹,并在里面创建一个Dockerfile文件。xxxxx.jar 是使用maven打包后复制进来的。
-
Dockerfile 文件内容:
# From java image, version : 8
FROM java:8
# 挂载app目录
VOLUME /app
# COPY or ADD to image
COPY demo-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c "touch /app.jar"
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
-
maven打包,将其target目录下的jar包复制进docker目录下。
-
配置Dockerfile配置
运行
运行成功
测试
使用docker 检查容器是否启动:
测试项目是否启动: