美文网首页
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