后端部署学习

后端部署

一、一般部署

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.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
            plugin>
            
            <plugin>
                <groupId>com.spotifygroupId>
                <artifactId>docker-maven-pluginartifactId>
                <version>0.4.13version>
                <configuration>
                    <imageName>xx.xx.xx.xx:5000/${project.artifactId}:${project.version}imageName>
                    <baseImage>jdk1.8baseImage>
                    <entryPoint>["java", "-jar","/${project.build.finalName}.jar"]entryPoint>
                    <resources>
                        <resource>
                            <targetPath>/targetPath>
                            <directory>${project.build.directory}
                            directory>
                            <include>${project.build.finalName}.jarinclude>
                        resource>
                    resources>
                    <dockerHost>http://xx.xx.xx.xx:2375dockerHost>
                configuration>
            plugin>
        plugins>
    build>

进入项目目录,执行

mvn clean package docker:build -DpushImage

你可能感兴趣的:(运维)