当前位置:   article > 正文

在IDEA中使用Docker部署SpringBoot项目_springboot dev test yml docker

springboot dev test yml docker

Docker安装及使用

Docker笔记_CBeann的博客-CSDN博客

IDEA连接Docker

安装docker插件

配置docker仓库URL

搭建项目

代码下载

Demooo/springboot-demo-docker at master · cbeann/Demooo · GitHub

创建SpringBoot项目并且创建一个接口

  1. @GetMapping("/hello")
  2. public String hello() {
  3. String s = LocalDateTime.now().toString();
  4. return s;
  5. }

修改pom.xml

  1. <properties>
  2. <!--设置时间戳-->
  3. <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
  4. <!--设置docker image 前缀-->
  5. <docker.prefix>mydocker</docker.prefix>
  6. </properties>
  7. <!-- docker插件 -->
  8. <plugin>
  9. <groupId>com.spotify</groupId>
  10. <artifactId>docker-maven-plugin</artifactId>
  11. <version>1.0.0</version>
  12. <!--将插件绑定在某个phase执行-->
  13. <executions>
  14. <execution>
  15. <id>build-image</id>
  16. <!--将插件绑定在package这个phase上。也就是说,用户只需执行mvn package ,就会自动执行mvn docker:build-->
  17. <phase>package</phase>
  18. <goals>
  19. <goal>build</goal>
  20. </goals>
  21. </execution>
  22. </executions>
  23. <configuration>
  24. <!--设置镜像名称-->
  25. <imageName>${docker.prefix}/${project.artifactId}_${maven.build.timestamp}</imageName>
  26. <!-- docker远程服务器地址 -->
  27. <dockerHost>http://127.0.0.1:2375</dockerHost>
  28. <!--设置目录,该目录下放dockerfike-->
  29. <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
  30. <resources>
  31. <resource>
  32. <targetPath>/</targetPath>
  33. <directory>${project.build.directory}</directory>
  34. <include>${project.build.finalName}.jar</include>
  35. </resource>
  36. </resources>
  37. </configuration>
  38. </plugin>

编写dockerfile

在/src/main/docker目录下,该位置在pom中已经设置

  1. #指定基础镜像,在其上进行定制
  2. FROM java:8
  3. #维护者信息
  4. MAINTAINER cbeann <cbeann@163.com>
  5. #这里的 /tmp 目录就会在运行时自动挂载为匿名卷,任何向 /tmp 中写入的信息都不会记录进容器存储层
  6. VOLUME /tmp
  7. #复制上下文目录下的target/springboot-demo-docker-0.0.1-SNAPSHOT.jar 到容器里
  8. COPY springboot-demo-docker-0.0.1-SNAPSHOT.jar demo-1.0.0.jar
  9. #声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务
  10. EXPOSE 8080
  11. #指定容器启动程序及参数 <ENTRYPOINT> "<CMD>"
  12. ENTRYPOINT ["java","-jar","demo-1.0.0.jar"]

运行maven的package

此处已经在pom中把bulid image与mvn package做了关联,即运行package也运行构建镜像命令 

运行结果

遇到的坑

IEDA连接远程docker仓库失败

0)确保2375端口开放

1)修改/usr/lib/systemd/system/docker.service

2)修改ExecStart行为下面内容

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

3)加载docker守护线程

systemctl daemon-reload 

 4)重启docker

systemctl restart docker

参考:docker 开启2375端口,提供外部访问docker_H的博客-CSDN博客_2375

注意:在内网中开放2375端口或者测试的时候开放2375端口,其它时候必须关闭,必须关闭,必须关闭,为了保证服务器的安全

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/220959
推荐阅读
相关标签
  

闽ICP备14008679号