当前位置:   article > 正文

Docker 快速部署 SpringBoot2 项目_boot2docker

boot2docker

一 使用Maven 插件 docker-maven-plugin 构建部署

1.1 配置Docker2375 端口

找到 docker.service 配置文件

编辑:vim /usr/lib/systemd/system/docker.service,在 ExecStart=/usr/bin/dockerd-current 后增加如下配置

-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

重启docker

  1. systemctl daemon-reload
  2. systemctl restart docker

1.2 配置 Docker 地址,构建 Docker 镜像并上传

配置 Docker 地址

  1. <properties>
  2. <!-- docker配置 -->
  3. <docker.host>http://192.168.56.101:2375</docker.host>
  4. <docker.maven.plugin.version>1.2.2</docker.maven.plugin.version>
  5. <docker.images.prefix>microservice</docker.images.prefix>
  6. </properties>

配置构建 Docker 镜像信息

  1. <build>
  2. <plugins>
  3. <plugin>
  4. <groupId>org.springframework.boot</groupId>
  5. <artifactId>spring-boot-maven-plugin</artifactId>
  6. <!-- 引入系统范围内的依赖 -->
  7. <configuration>
  8. <includeSystemScope>false</includeSystemScope>
  9. </configuration>
  10. </plugin>
  11. <!-- docker镜像 -->
  12. <plugin>
  13. <groupId>com.spotify</groupId>
  14. <artifactId>docker-maven-plugin</artifactId>
  15. <version>${docker.maven.plugin.version}</version>
  16. <executions>
  17. <execution>
  18. <id>build-image</id>
  19. <phase>package</phase>
  20. <goals>
  21. <goal>build</goal>
  22. </goals>
  23. </execution>
  24. </executions>
  25. <configuration>
  26. <imageName>${docker.images.prefix}/${project.artifactId}:${project.version}</imageName>
  27. <dockerHost>${docker.host}</dockerHost>
  28. <baseImage>java:8</baseImage>
  29. <entryPoint>["java", "-jar", "-Dspring.profiles.active=test","/${project.build.finalName}.jar"]
  30. </entryPoint>
  31. <resources>
  32. <resource>
  33. <targetPath>/</targetPath>
  34. <directory>${project.build.directory}</directory>
  35. <include>${project.build.finalName}.jar</include>
  36. </resource>
  37. </resources>
  38. </configuration>
  39. </plugin>
  40. <!--添加配置跳过测试-->
  41. <plugin>
  42. <groupId>org.apache.maven.plugins</groupId>
  43. <artifactId>maven-surefire-plugin</artifactId>
  44. <version>2.22.2</version>
  45. <configuration>
  46. <skipTests>true</skipTests>
  47. </configuration>
  48. </plugin>
  49. </plugins>
  50. </build>

点击 maven 中 package 打包并上传

1.3 查看镜像

docker images

1.4 安装运行容器

docker run -p 8084:8040 --restart=always --name microservice-project -v /etc/localtime:/etc/localtime -v /mydata/app/project/logs:/var/logs -d microservice/cloud-project:0.0.3-SNAPSHOT

二 使用Dockerfile构建部署

2.1 在服务器指定位置创建目录,如:project_docker,在该文件夹下创建 Dockerfile

vim Dockerfile
  1. # 该镜像需要依赖的基础镜像
  2. FROM java:8
  3. # 指定维护者的名字
  4. LABEL maintainer=lc
  5. # 定义匿名数据卷
  6. VOLUME /tmp
  7. # COPY 复制资源到容器中
  8. COPY cloud-project-0.0.3-SNAPSHOT.jar /app/cloud-project-0.0.3-SNAPSHOT.jar
  9. COPY application.properties application.properties
  10. # 指定docker容器启动时运行jar包和配置文件
  11. ENTRYPOINT ["java","-Xms256m", "-Xmx256m","-jar","/app/cloud-project-0.0.3-SNAPSHOT.jar","--spring.config.location=/application.properties","-Dfile.encoding=UTF-8"]

2.2 dockerfile常用指令

 2.3 上传微服务jar,构建镜像

docker build -t cloud-project:0.0.3 .

2.4 安装运行容器

docker run -p 8848:8848 --restart=always --name cloud-project -v /home/project/jar/project_docker/logs:/logs -d cloud-project:0.0.3

 2.5 编写自动化脚本

  vim run.sh

  1. #!/bin/bash
  2. # 定义应用组名
  3. group_name='scistor'
  4. # 定义应用名称
  5. app_name='cloud-project'
  6. # 定义应用版本
  7. app_version='0.0.3-SNAPSHOT'
  8. # 定义应用环境
  9. profile_active='qa'
  10. echo '----copy jar----'
  11. docker stop ${app_name}
  12. echo '----stop container----'
  13. docker rm ${app_name}
  14. echo '----rm container----'
  15. docker rmi ${group_name}/${app_name}:${app_version}
  16. echo '----rm image----'
  17. # 打包编译docker镜像
  18. docker build -t ${group_name}/${app_name}:${app_version} .
  19. echo '----build image----'
  20. docker run -p 8844:8844 --restart=always --name ${app_name} -v /home/project/jar/project_docker/logs:/logs -d ${group_name}/${app_name}:${app_version}
  21. echo '----start container----'
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/827309
推荐阅读
相关标签
  

闽ICP备14008679号