本文共 3006 字,大约阅读时间需要 10 分钟。
将项目打包成jar文件。使用Maven进行项目构建和打包。执行以下命令:
mvn package
编写一个适用于Spring Boot项目的Dockerfile。以下是示例Dockerfile:
FROM java:8VOLUME /tmpADD elk-web-1.0-SNAPSHOT.jar elk.jarEXPOSE 8080ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/elk.jar"]
FROM java:8:使用Java 8作为基础镜像。VOLUME /tmp:创建/tmp目录并持久化到Docker数据文件夹,用于存储Spring Boot容器的工作目录。ADD elk-web-1.0-SNAPSHOT.jar elk.jar:将JAR文件复制到/elk.jar。EXPOSE 8080:指定容器公开的端口。ENTRYPOINT:容器启动时执行的命令,用于启动Spring Boot应用程序。使用Docker命令构建镜像:
docker build -t elk .
运行容器并映射端口:
docker run -d --name myspringboot -p 8080:8080 elk
-d:表示后台运行容器。--name:指定容器名称。-p:将容器内部的8080端口映射到宿主机的8080端口。查看容器日志:
docker logs -f --tail=100 myspringboot
通过浏览器访问容器IP地址和端口:
curl http://localhost:8080
编辑Docker服务文件:
vim /usr/lib/systemd/system/docker.service
在ExecStart行后添加:
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
重启Docker服务:
systemctl daemon-reloadservice docker restart
测试远程连接:
curl http://localhost:2375/version
在IDEA中配置Docker地址:
File > Settings > Build, Execution, Deployment > Docker在Maven项目中集成Docker-Maven-Plugin,实现自动构建和推送镜像。
${project.artifactId} org.springframework.boot spring-boot-maven-plugin true org.apache.maven.plugins maven-surefire-plugin true com.spotify docker-maven-plugin 1.0.0 build-image package build bruceliu/${project.artifactId} latest java bruceliu@email.com /ROOT ["java", "-version"] ["java", "-jar", "/${project.build.finalName}.jar"] http://122.51.50.249:2375 / ${project.build.directory} ${project.build.finalName}.jar
运行Maven命令:
mvn package
在IDEA中:
Build > Build Artifact > Docker > Build and Push通过以上步骤,您可以轻松将Spring Boot项目构建并部署到Docker容器中,支持远程连接和持续集成。
转载地址:http://vlwfz.baihongyu.com/