centos 安装maven_Docker的安装及部署Spring Boot项目操作详解!

本文使用Docker部署Spring Boot项目。部署之前需要环境中已经安装Docker和Maven(用于打包),所以本文先进行安装Docker和Maven;接着搭建一个Spring Boot项目,使其支持Docker部署;最后进行部署和测试。

环境搭建

安装Docker

检查系统内核版本

Docker运行在CentOS 7上,要求操作系统为64位,内核版本为3.10及以上。确认本机已经安装了满足要求的Linux内核。使用命令uname -r来检查内核版本信息。

[root@localhost ~]# uname -r3.10.0-957.el7.x86_64
在CentOS 7中安装Docker

使用命令yum install -y docker安装Docker,“-y”表示不询问,使用默认配置进行安装。

启动Docker服务,并设置为开机自启动

使用下列命令:

systemctl start docker.service
systemctl enable docker.service
查看版本信息

输入docker version,返回版本信息表明Docker安装成功。

[root@localhost ~]# docker versionClient:Version:         1.13.1
API version: 1.26Package version: docker-1.13.1-96.gitb2f74b2.el7.centos.x86_64Go version: go1.10.3Git commit: b2f74b2/1.13.1Built: Wed May 1 14:55:20 2019
OS/Arch: linux/amd64Server:Version: 1.13.1
API version: 1.26 (minimum version 1.12)Package version: docker-1.13.1-96.gitb2f74b2.el7.centos.x86_64Go version: go1.10.3Git commit: b2f74b2/1.13.1Built: Wed May 1 14:55:20 2019
OS/Arch: linux/amd64Experimental: false

安装Maven和配置阿里云镜像

下载Maven

wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz

解压和移动
tar vxf apache-maven-3.5.4-bin.tar.gz
mv apache-maven-3.5.4 /usr/local/maven3
配置环境变量

打开环境变量vim /etc/profile,添加如下内容:

MAVEN_HOME=/usr/local/maven3export MAVEN_HOMEexport PATH={PATH}:{MAVEN_HOME}/bin

保存并退出::wq

刷新环境变量的配置使其生效:source /etc/profile

查看版本信息

使用命令mvn -v进行查看

[root@localhost ~]# mvn -vApache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)Maven home: /usr/local/maven3Java version: 1.8.0_211, vendor: Oracle Corporation, runtime: /usr/local/java/jdk1.8.0_211/jreDefault locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"

使用mvn package命令进行打包,却报错,提示连接被拒绝。

7d54c6ec83c10e358b24289cadfbda60.png

解决办法:给Maven配置阿里云镜像 切换到maven安装目录下面,打开settings.xml文件,在标签里面添加:

 alimaven aliyun maven http://maven.aliyun.com/nexus/content/groups/public/ central  

Spring Boot项目添加Docker支持

新建Spring Boot工程

新建一个Spring Boot项目,添加一个简单的DockerController,方便进行测试。

@RestController@SpringBootApplication@RequestMapping("/docker")public class DockerController {@RequestMapping("/hello")@ResponseBodypublic String hello() {return "Hello Docker";}}

添加Docker支持

在 pom.xml中添加Docker镜像名称

springboot

添加 Docker插件:

3c705b11117385532a7aeb9b1c05aac2.png

编写Dockerfile文件

在目录src/main/docker下创建Dockerfile 文件,Dockerfile 文件用来说明如何来构建镜像。

FROM java:8
VOLUME /tmp
ADD docker-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

FROM指令指定一个已经存在的镜像,告诉Docker后续的指令都是在这个基础上进行的。例如:FROM java:8表示使用 Jdk1.8 环境为基础镜像进行构建镜像。

VOLUME ,VOLUME 指向了一个/tmp的目录,由于Spring Boot使用内置的Tomcat容器,Tomcat 默认使用/tmp作为工作目录。这个命令的效果是:在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录

ADD ,拷贝文件并且重命名

ENTRYPOINT,为了缩短Tomcat 的启动时间,添加java.security.egd的系统属性指向/dev/urandom作为ENTRYPOINT。

部署Spring Boot工程

将工程代码 docker 拷贝服务器中,进入项目路径下进行打包测试。

打包:mvn package 运行:java -jar target/spring-boot-docker-1.0.jar

项目启动成功,说明环境配置没有问题,接下来可以使用Dockerfile构建镜像。

28baaa089a8580196c84cd44ed54041a.png

构建Docker镜像mvn package docker:build。可以看到docker镜像构建成功,仔细看日志,会发现四个步骤和Dockerfile中的指令是一一对应的。

e47c639bf4e4942ded1e11cac93b9afb.png

使用docker images命令查看构建好的镜像:

[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
springboot/docker latest 39aabeebb971 5 days ago 660 MB

运行docker镜像:docker run -p 8080:8080 -t springboot/docker

在本机浏览器进行访问,可以看到返回结果,说明部署成功。

9bad8482e96e759ccfc267ad9489bed8.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值