SpringBoot項目部署輕松變Docker,原來只需這幾步!
環境:SpringBoot2.6.12 + Docker + Centos7 + JDK8
一、安裝配置Docker
yum 包更新到最新
yum update
卸載舊版本docker
yum remove docker docker-common docker-selinux docker-engine
安裝需要的軟件包, yum-util 提供yum-config-manager功能,另外兩個是devicemapper驅動依賴的
yum install -y yum-utils device-mapper-persistent-data lvm2
設置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
查看所有倉庫中所有docker版本
yum list docker-ce --showduplicates | sort -r
圖片
下載安裝docker
yum install docker-ce
啟動docker
systemctl start docker
查看docker版本
docker version
圖片
二、 docker-compose的安裝(這里暫時不用)
- 下載docker-compose
圖片
- 添加可執行權限
chmod +x /usr/local/bin/docker-compose
- 創建鏈接
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
- 查看版本
docker-compose --version
- 查找tomcat鏡像
docker search tomcat
圖片
下載第一個
- 下載tomcat鏡像
docker pull tomcat
圖片
到此docker環境安裝配置完成,接下來將項目部署到docker中。
三、 部署項目
新建springboot項目spring-boot-docker
- pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
- Controller接口
@RestController
@RequestMapping("/demo")
public class DemoController {
@GetMapping("/index")
public Object index() {
return "docker container running..." ;
}
}
- 啟動類
@SpringBootApplication
public class SpringBootDockerApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(SpringBootDockerApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(SpringBootDockerApplication.class, args);
}
}
- 打包
mvn clean package -Dmaven.test.skip=true
- 將打包后的jar上傳服務器
圖片
- 掛載項目到docker容器
docker run -d --name demo-server -v /root/apps/spring-boot-docker-1.0.0.war:/usr/local/tomcat/webapps/spring-boot-docker-1.0.0.war -p 8080:8080 tomcat
-v:掛載項目
-p:映射端口 xxx:yyy xxx為宿主機的端口,yyy為容器端口
-d:后臺運行
--name:容器名字
tomcat 為使用的鏡像名字
- 查看運行的實例
docker ps
圖片
- 運行
圖片
如果你運行的是jar包,按照如下步驟
- 下載java鏡像
docker search java
圖片
這里下載選擇的openjdk
圖片
- 運行
docker run -d --name demo-server -v /root/apps/spring-boot-docker-1.0.0.jar:/usr/spring-boot-docker-1.0.0.jar -p 8081:8080 openjdk java -jar /usr/spring-boot-docker-1.0.0.jar
圖片
圖片
完畢!!!!