Docker容器使用jenkins部署web项目(总结)

下面我将详细讲解Docker容器使用Jenkins部署Web项目的完整攻略。

主要步骤

  1. 安装Docker和Jenkins并配置好环境

安装Docker和Jenkins可以参考Docker官网Jenkins官网,这里不再赘述。安装完成后需要做一些环境配置,比如启动Docker服务并设置防火墙规则,配置Jenkins的基本参数等等。

  1. 编写Dockerfile文件

在 Dockerfile 中定义如何构建镜像,具体可以参考如下示例:

FROM tomcat:9-jdk11-openjdk-slim-buster

RUN rm -rf /usr/local/tomcat/webapps/*

COPY target/demo.war /usr/local/tomcat/webapps/ROOT.war

EXPOSE 8080

CMD ["catalina.sh", "run"]

该 Dockerfile 的功能是基于 tomcat:9-jdk11-openjdk-slim-buster 镜像构建一个新镜像,然后将 WAR 包复制到新镜像里,并启动容器。注意,在构建新镜像时要避免将不必要的文件复制到镜像里,以减小镜像的体积。

  1. 构建Docker镜像

执行以下命令构建 Docker 镜像:

docker build -t demo .

其中的 demo 是新镜像的名称,注意这个名称不能重复。

  1. 使用Jenkins进行自动化部署

在 Jenkins 里配置自动化部署。

首先,在 Jenkins 的插件管理页面安装“Publish Over SSH”插件,这个插件可以帮我们在远程服务器上运行命令。

接着,在 Jenkins 的配置页面里,配置远程服务器的SSH连接信息,输入远程服务器的IP地址、端口、用户名和密码。

然后,在 Jenkins 里创建一个新的自由风格的项目,输入项目名称和描述,并在“源码管理”选项卡中配置 Git 仓库的地址和分支名称。

在“构建触发器”选项卡中,配置自动构建选项,比如定时构建等。

接下来,在“构建”选项卡中,选择“执行 shell 脚本”命令,在命令框中输入以下内容:

sudo docker stop container-name || true
sudo docker rm container-name || true
sudo docker run -d --name container-name -p 80:8080 demo

其中的 container-name 是容器名称,可以自行定义。这个命令的作用是停止并删除旧容器,重新启动一个新容器,并将容器的 8080 端口映射到主机的 80 端口。

最后,在 Jenkins 里保存项目配置并执行构建。

示例说明

示例1:使用Docker和Jenkins部署Spring Boot应用程序

参考步骤1和步骤2,在 Dockerfile 中添加如下内容:

FROM openjdk:8-jdk-alpine

COPY target/app.jar /app.jar

EXPOSE 8080

ENTRYPOINT ["java", "-jar", "/app.jar"]

该 Dockerfile 的功能是基于 openjdk:8-jdk-alpine 镜像构建一个新镜像,将项目的 jar 包复制到新镜像里,并启动应用程序。这个配置文件用于部署 Spring Boot 应用程序。

然后,参考步骤3和步骤4,执行自动化部署。

示例2:使用Docker和Jenkins部署Node.js应用程序

参考步骤1和步骤2,在 Dockerfile 中添加如下内容:

FROM node:14

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 3000

CMD ["npm", "start"]

该 Dockerfile 的功能是基于 node:14 镜像构建一个新镜像,将项目的代码复制到新镜像里,并启动应用程序。这个配置文件用于部署 Node.js 应用程序。

然后,参考步骤3和步骤4,执行自动化部署。

以上就是使用 Docker 容器和 Jenkins 进行 Web 项目部署的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker容器使用jenkins部署web项目(总结) - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Docker仓库常用命令详解

    Docker仓库常用命令详解 Docker是一款轻量级的容器技术,为了更好地管理和存储Docker镜像,需要使用Docker仓库。本文将会详细讲解Docker仓库的常用命令和用法。 Docker仓库介绍 Docker Hub Docker Hub是官方提供的公共Docker仓库,可以免费上传和下载Docker镜像。使用Docker Hub需要注册账号,并完成…

    Docker 2023年5月16日
    00
  • 解决docker run中使用 ./ 相对路径挂载文件或目录失败的问题

    在 Docker 中使用相对路径挂载本地文件或目录时,可能会遇到无法挂载的问题。这通常是由于 Docker 容器并不知道上层目录中相对路径的存在而造成的。 以下是如何解决这个问题的完整攻略: 问题描述 在 Docker 中使用 docker run 命令时,使用相对路径挂载本地文件或目录时可能会提示文件不存在或权限不足等错误,如下: docker run -…

    Docker 2023年5月16日
    00
  • Docker 镜像、容器、仓库的概念及应用详解

    Docker 镜像、容器、仓库的概念及应用详解 Docker 镜像 Docker 镜像是一个可执行的软件包,包含运行特定应用程序所需的所有内容,包括代码、运行时环境、系统工具、库和依赖项。Docker 镜像使用栈式文件系统,将每个新图层添加到现有的图层顶部,从而创建一个完整的文件系统。Docker 镜像是可共享和重复使用的,开发者可以将其分享给他人或在多种应…

    Docker 2023年5月15日
    00
  • 简易的Docker版本升级方法

    以下是关于如何升级Docker版本的完整攻略: 1、备份 Docker 数据 在进行 Docker 版本升级之前,建议先备份 Docker 的数据,以防数据丢失。可以将 /var/lib/docker 目录拷贝到本地或者其它位置,也可以通过 Docker 命令来备份。 docker save -o /path/to/save/docker-backup.ta…

    Docker 2023年5月16日
    00
  • docker常用命令解读之volume篇

    下面我会详细讲解一下“docker常用命令解读之volume篇”的攻略及其中的两条示例说明。 Docker常用命令解读之Volume篇 Docker Volume(卷)是Docker用于持久化数据的一种机制,通过Volume,Docker可以将容器服务与宿主机分离。本篇文章将为您介绍Docker Volume的使用方式以及与Docker相关命令的搭配使用。 …

    Docker 2023年5月16日
    00
  • Docker 基础 – 1

    镜像 获取镜像 docker pull 查看镜像信息 docker images docker inspect <images id> # 获取镜像的详细信息 搜寻镜像 docker search 删除镜像 docker rmi 当一个镜像拥有多个标签,docker rmi 只是删除该镜像指定的标签,并不影响镜像文件当镜像只剩下一个标签时,再使用…

    Docker 2023年4月10日
    00
  • Thanos工作原理及组件简介

    Thanos 简介 Thanos 是一个「开源的,高可用的 Prometheus 系统,具有长期存储能力」。很多知名公司都在使用 Thanos,也是 CNCF 孵化项目的一部分。 Thanos 的一个主要特点就是通过使用对象存储(比如 S3)可以允许 “无限” 存储空间。对象存储可以是每个云提供商提供的对象存储也可以是 ceph、rook 或 minio 这…

    2023年4月8日
    00
  • Docker 环境配置以及问题解决方案

    Docker 环境配置以及问题解决方案完整攻略如下: 1. Docker 环境配置 Docker 是一种容器化技术,可以让我们将应用程序和依赖项打包到一个不受污染的环境中,同时保证环境在不同平台上的一致性。下面我们来介绍如何在不同操作系统上配置 Docker 环境。 1.1 安装 Docker 1.1.1 Windows 系统 对于 Windows 系统,我…

    Docker 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部