docker | 您所在的位置:网站首页 › jenkins部署springboot到docker › docker |
安装 Docker 和 Docker Compose。 创建一个名为 docker-compose.yml 的文件,内容如下: version: '3' services: jenkins: image: jenkins/jenkins:lts ports: - "8080:8080" - "50000:50000" volumes: - "./jenkins_home:/var/jenkins_home" app: build: . ports: - "8081:8080"说明: jenkins 服务使用 Jenkins 官方镜像,映射 8080 和 50000 端口,挂载本地目录 ./jenkins_home 到 Jenkins 容器的 /var/jenkins_home 目录下,以保留 Jenkins 的数据和配置。 app 服务使用当前目录中的 Dockerfile 构建镜像,映射 8081 端口。 创建 Dockerfile 文件,内容如下: FROM openjdk:8-jdk-alpine VOLUME /tmp ARG JAR_FILE=target/*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]说明:使用 OpenJDK 8 作为基础镜像,将构建好的 Spring Boot 应用 JAR 文件复制到容器中,并指定容器启动时执行的命令。 在项目根目录下执行 docker-compose up -d 命令启动容器。 访问 http://localhost:8080 进入 Jenkins 界面,按照提示完成安装和初始化。 在 Jenkins 中新建一个 Pipeline 项目,配置 Pipeline 脚本,例如: pipeline { agent any stages { stage('Build') { steps { sh 'mvn clean package' } } stage('Deploy') { steps { sh 'docker build -t myapp .' sh 'docker stop myapp || true && docker rm myapp || true' sh 'docker run -d --name myapp -p 8081:8080 myapp' } } } }说明: Build 阶段使用 Maven 打包项目。 Deploy 阶段构建 Docker 镜像,并在容器中运行项目。先停止并删除已有的容器,再启动新的容器。 保存并运行 Pipeline,观察构建和部署过程。如果成功,访问 http://localhost:8081 应该能看到部署好的 Spring Boot 项目。 注意事项: Jenkins 容器需要访问本地的 Docker 守护进程,需要将 /var/run/docker.sock 文件挂载到容器中,例如加上以下配置: 复制 volumes: - "/var/run/docker.sock:/var/run/docker.sock"如果是在 Windows 环境下使用 Docker,需要修改 docker-compose.yml 文件中的目录路径,例如将 ./jenkins_home 修改为 ./jenkins_home:/var/jenkins_home:z。 在实际生产环境中,需要考虑更多的安全、可维护性和可扩展性问题,例如使用 Docker Swarm 或 Kubernetes 等容器编排技术,使用 Docker 镜像仓库存储镜像,使用 Jenkins 的插件和 Pipeline 脚本库等。 |
CopyRight 2018-2019 实验室设备网 版权所有 |