环境: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
org.springframework.boot
spring-boot-starter-web
@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
图片
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包,按照如下步骤
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
图片
图片
完毕!!!!