个人学习系列 - IDEA中进行Docker项目部署

现在大部分项目已经开始部署在Docker上面了,可是部署环节还是有点麻烦,所以本文想讲解一下如何使用IDEA一键部署。

Docker配置

修改配置文件

打开Docker的配置文件:
vim /usr/lib/systemd/system/docker.service
将下面这行注释掉:
# ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
新写一行:
ExecStart=/usr/bin/dockerd  -H tcp://0.0.0.0:2375  -H unix:///var/run/docker.sock
重新加载配置文件和启动:
systemctl daemon-reload
systemctl start docker

如下图所示:

IDEA配置Docker

安装Docker插件

配置Docker信息

在设置中进行Docker配置,需要配置API URL,下面出现Connection successful即可:

项目搭建

新建一个springboot项目

通过IDEA搭建项目,什么都不需要选择,一直下一步就可以了:

修改pom文件

最主要的就是两点:
1.properties标签中添加

demo

2.添加新的plugin标签


 com.spotify
 docker-maven-plugin
 1.2.1
 
     ${docker.image.prefix}/${project.artifactId}
     
     
         
             /
             ${project.build.directory}
             ${project.build.finalName}.jar
         
     
 

下面是完整的pom文件:



 4.0.0
 
     org.springframework.boot
     spring-boot-starter-parent
     2.2.1.RELEASE
      
 
 com.example
 demo
 0.0.1
 demo
 Demo project for Spring Boot

 
     1.8
     demo
 

 

     
         org.springframework.boot
         spring-boot-starter
     

     
         org.springframework.boot
         spring-boot-starter-web
     

     
         org.springframework.boot
         spring-boot-starter-test
         test
         
             
                 org.junit.vintage
                 junit-vintage-engine
             
         
     
 

 
     
         
             org.springframework.boot
             spring-boot-maven-plugin
         
         
             com.spotify
             docker-maven-plugin
             1.2.1
             
                 ${docker.image.prefix}/${project.artifactId}
                 
                 
                     
                         /
                         ${project.build.directory}
                         ${project.build.finalName}.jar
                     
                 
             
         
     
 


新建Dockerfile文件

需要在根目录下新建Dockerfile文件

#指定基础镜像,在其上进行定制
FROM java:8

#维护者信息
MAINTAINER zhouzhaodong 

#这里的 /tmp 目录就会在运行时自动挂载为匿名卷,任何向 /tmp 中写入的信息都不会记录进容器存储层
VOLUME /tmp

#复制上下文目录下的target/demo-1.0.0.jar 到容器里
COPY target/demo-0.0.1.jar demo-1.0.0.jar

#bash方式执行,使demo-1.0.0.jar可访问
#RUN新建立一层,在其上执行这些命令,执行结束后, commit 这一层的修改,构成新的镜像。
RUN bash -c "touch /demo-1.0.0.jar"

#声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务
EXPOSE 8080

#指定容器启动程序及参数    ""
ENTRYPOINT ["java","-jar","demo-1.0.0.jar"]

新建controller文件

别忘记在pom文件中添加web依赖。

@RestController
public class testController {

    @RequestMapping("/")
    public String test(){
        return "test Docker";
    }

}

maven打包

install打包:

生成jar包:

新建配置

新建Dockerfile运行配置:

添加如下信息,找到自己写的Dockerfile文件,配置端口映射:

生成Docker镜像并运行

直接运行刚才新建的Dockerfile运行配置即可:

运行成功后log窗口会出现项目运行的信息:

访问对应的地址即可显示我们输入的信息:

你可能感兴趣的:(java,docker,dockerfile)