美文网首页
SpringBoot使用docker实现项目部署

SpringBoot使用docker实现项目部署

作者: 身长脚短 | 来源:发表于2020-09-15 15:44 被阅读0次

    将SpringBoot项目打成jar包

    一、创建一个SpringBoot项目

    二、在porm.xml里面添加配置

        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.2.0.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
    
        <groupId>org.lym</groupId>
        <artifactId>mock</artifactId>
        <version>1.0-SNAPSHOT</version>
        <properties>
            <java.version>1.8</java.version>
        </properties>
        
         <!-- 使用maven打包项目需要添加build配置 -->
        <build>
            <finalName>docker-jar</finalName> <!--使用maven打包后的包名 -->
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
        <dependencies>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    

    三、使用maven打包。进入项目的主目录下(和porm.xml同级),使用mvn clean package -Dmaven.test.skip=true(-Dmaven.test.skip=true是为了排除项目中的test包) 打包项目,最终jar会放在target文件夹下。

    安装docker

    一、使用国内的daocloud一键安装docker

    curl -sSL https://get.daocloud.io/docker | sh
    

    如果报“Delta RPMs disabled because /usr/bin/applydeltarpm not installed.”错误,执行以下命令

    yum provides '*/applydeltarpm' #查看依赖包的位置
    yum -y install deltarpm #安装deltarpm
    

    二、启动docker

    systemctl start docker
    

    三、检查docker是否安装成功

    docker run hello-world
    

    如果出现以下信息,表明docker安装成功


    创建镜像

    一、在服务器上建一个文件夹DockerFile,在文件夹下创建一个文件Dockerfile

    mkdir DockerFile
    touch Dockerfile
    

    二、编辑Dockerfile文件

    FROM java:8
    VOLUME /tmp
    COPY docker-jar.jar app.jar
    EXPOSE 8080
    ENTRYPOINT ["java","-jar","app.jar","--server.port=80","> /log/app.log"]
    

    FROM:定制的镜像都是基于 FROM 的镜像,这里的java就是应用需要用到的java环境,版本号是8
    VOLUME :声明容器中存储数据的目录(匿名卷),跟宿主机的某个目录绑定
    COPY :复制docker-jar.jar到容器中并重新命名为app.jar
    EXPOSE :暴露容器的端口(仅仅是声明,并不会实际绑定)
    ENTRYPOINT :在启动容器的时候运行,这里用来启动springboot项目

    三、构建镜像

    将上面打的docker-java.jar包放到DockerFile目录下(和Dockerfile同一目录),并运行如下命令

    docker build -t mock .
    

    -t:指定镜像名称
    .:当前目录
    镜像构建完后,可以使用docker images 查看结果


    四、启动容器

    使用如下命令启动容器

    docker run -d --name mock -P mock
    或者
    docker run -d --name mock -p 80:8080 mock
    

    -d:默认不会进入容器,容器启动后会进入后台
    -P:将容器内部使用的网络端口随机映射到我们使用的主机上
    -p:将容器端口映射到指定的host端口上,这里是将8080端口映射到80端口上
    --name:设置容器名称

    如果上面的命令启动后,无法通过浏览器访问应用,尝试将newwork改成host

    docker run -d --net="host" --name mock  mock
    

    --net="host":此时容器使用宿主机的ip和端口

    如果需要查看容器的日志,可以使用

    docker logs -f mock
    

    相关文章

      网友评论

          本文标题:SpringBoot使用docker实现项目部署

          本文链接:https://www.haomeiwen.com/subject/oxixyktx.html