docker 您所在的位置:网站首页 jenkins部署springboot到docker docker

docker

2023-04-01 03:27| 来源: 网络整理| 查看: 265

安装 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 实验室设备网 版权所有