后端部署
一、一般部署
1.安装JDK
2.下载jdk放到到Linux的/usr/java下(目录随意)
3.解压
tar -zxvf jdk-xxx.tar.gz
4.修改环境变量
vi /etc/profile
set java environment
JAVA_HOME=/usr/java/jdk1.8.0_171
JRE_HOME=/usr/java/jdk1.8.0_171/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
5.让修改生效
source /etc/profile
6.测试
java -version
7.Maven打包(package)项目,复制jar包到/usr/java(jdk存放的位置),执行java -jar 项目名运行
二、Docker部署
1.使用DockersFile创建jdk镜像
-
创建目录
mkdir –p /usr/local/dockerjdk8
-
把安装包放在 dockerjdk8
-
vi Dockerfile创建文件,粘贴下面内容
#依赖镜像名称和ID FROM centos:7 #指定镜像创建者信息 MAINTAINER CSL #切换工作目录 WORKDIR /usr RUN mkdir /usr/local/java #ADD 是相对路径jar,把java添加到容器中 ADD jdk-8.tar.gz /usr/local/java/ #配置java环境变量 ENV JAVA_HOME /usr/local/java/jdk1.8.0_171 ENV JRE_HOME $JAVA_HOME/jre ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH ENV PATH $JAVA_HOME/bin:$PATH
-
构建镜像(不可忽略点)
docker build -t='jdk1.8' .
-
查看镜像
docker images
2.创建容器
- 创建容器
docker run -it --name=jdk1.8 jdk1.8 /bin/bash
-
拉取私有容器
docker pull registry
-
启动
docker run -di --name=registry -p 5000:5000 registry
打开浏览器输入地址Ip:5000/v2/_catalog查看,私有容器创建成功
-
修改daemon.json
vi /etc/docker/daemon.json
-
添加以下内容,保存退出
{"insecure-registries":["ip:5000"]}
这步的作用是让docker信任私有仓库地址
-
重启docker
systemctl restart docker
-
镜像上传至私有仓库
docker tag jdk1.8 ip:端口/jdk1.8
-
启用私服
docker start register
-
上传
docker push IP:5000/jdk1.8
-
查看私服的文件
ip:5000/v2/_catalog
3.DockerMaven插件(部署项目)
使用之前修改宿主机的docker配置:
vi /lib/systemd/system/docker.service
在ExecStart=后面添加配置
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
刷新配置重启服务
systemctl daemon-reload
systemctl restart docker
docker start registry
项目pom文件添加
<build>
<finalName>项目名称</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- docker的maven插件,官网:
https://github.com/spotify/docker-maven-plugin -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<imageName>xx.xx.xx.xx:5000/${project.artifactId}:${project.version}</imageName>
<baseImage>jdk1.8</baseImage>
<entryPoint>["java", "-jar","/${project.build.finalName}.jar"]</entryPoint>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}
</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<dockerHost>http://xx.xx.xx.xx:2375</dockerHost>
</configuration>
</plugin>
</plugins>
</build>
进入项目目录,执行
mvn clean package docker:build -DpushImage