环境:SpringBoot2.6.12 + Docker + Centos7 + JDK8
yum 包更新到最新
yumupdate
卸载旧版本docker
yum remove docker docker-common docker-selinux docker-engine
安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install-y yum-utils device-mapper-persistent-datalvm2
设置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
systemctlstartdocker
查看docker版本
docker version
图片
下载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")publicclass DemoController {@GetMapping("/index")publicObjectindex(){return"docker container running...";} }
启动类
@SpringBootApplicationpublicclass SpringBootDockerApplication extends SpringBootServletInitializer {@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder){returnbuilder.sources(SpringBootDockerApplication.class);}publicstatic 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
图片
图片
完毕!!!!