2025-08-28
技术文档
00

目录

创建rocky8虚拟机
在EXSI6.7上创建虚拟机
安装系统机配置
安装环境
启动容器

也别在windows server上部署了,直接上虚拟机吧。

创建rocky8虚拟机

在EXSI6.7上创建虚拟机

  • 在左侧“虚拟机”上右键选择“创建/注册虚拟机”

    image.png

  • 选择“创建新虚拟机”

    image.png

  • 设置名称和操作系统

    image.png

  • 选择储存

    image.png

  • 分配8核心16线程16G内存500G硬盘选择ISO镜像使用Rocky8的系统镜像

    image.png

  • 确认配置点击“完成”

    image.png

安装系统机配置

  • 进入虚拟机选择“install rocky Linux 8”

  • 语言选择“中文”-“简体中文(中国)”,点击“继续” image.png

  • 正确设置“安装目标位置”“日期和时间”“网络和主机名”“root密码”点击“开始安装”

    image.png

  • 等待安装完成后点击“重启系统”

    image.png

安装环境

  • 安装基础环境

    bash
    # 更新系统 sudo dnf update -y # 安装常用工具 sudo dnf install -y vim wget net-tools epel-release # 开启 SSH 服务(通常默认开着) sudo systemctl enable sshd --now # 安装虚拟机管理工具并打开服务 sudo dnf install -y open-vm-tools sudo systemctl enable vmtoolsd --now
  • 安装docker

    bash
    # 卸载旧版本 sudo dnf remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine # 安装必要工具 sudo dnf install -y yum-utils device-mapper-persistent-data lvm2 # 添加官方仓库 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 安装docker ce sudo dnf install -y docker-ce docker-ce-cli containerd.io # 启动并设置开机自启动 sudo systemctl start docker sudo systemctl enable docker # 验证安装 docker --version # 手动创建一个网络 docker network create auth-network
  • 安装docker-compose

    bash
    # 在https://github.com/docker/compose/releases下载docker-compose-Linux-x86_64 # 推到服务器上/usr/local/bin目录,重命名为docker-compose # 给权限 sudo chmod +x /usr/local/bin/docker-compose # 验证安装 docker-compose --version
  • 配置国内镜像源

    json
    { "registry-mirrors": [ "https://registry.docker-cn.com", "https://mirror.ccs.tencentyun.com", "https://hub-mirror.c.163.com", "https://docker.m.daocloud.io" ] }
    bash
    vim /etc/docker/daemon.json # 将上面的内容复制进去 # 使用:wq保存退出 # 重启docker服务 systemctl daemon-reload systemctl restart docker

构建jira

  • 编写Dockerfile

    Dockerfile
    FROM atlassian/jira-software:8.16.1 USER root # 将代理破解包加入容器 COPY "atlassian-agent.jar" /opt/atlassian/jira/ COPY "mysql-connector-java-5.1.49-bin.jar" /opt/atlassian/jira/lib/ # 设置启动加载代理包 RUN echo 'export CATALINA_OPTS="-javaagent:/opt/atlassian/jira/atlassian-agent.jar ${CATALINA_OPTS}"' >> /opt/atlassian/jira/bin/setenv.sh
  • 构建jira镜像

    bash
    # 创建进入jira目录 mkdir /usr/local/bin/jira cd /usr/local/bin/jira # 新建Dockerfile vim ./Dockerfile # 将上面的Dockerfile粘贴进去 # 使用 :wq 保存并退出 # 下载atlassian-agent.jar也放到/usr/local/bin/jira目录下 # 下载mysql-connector-java-5.1.49-bin.jar也放到/usr/local/bin/jira目录下 # 构建镜像 docker build -t jira/jira:8.16.1 .

构建confluence

  • 编写Dockerfile

    Dockerfile
    FROM atlassian/confluence:8.8.0 USER root # 将代理破解包加入容器 COPY "atlassian-agent.jar" /opt/atlassian/confluence/ COPY "mysql-connector-java-5.1.49-bin.jar" /opt/atlassian/confluence/confluence/WEB-INF/lib/ # 设置启动加载代理包 RUN echo 'export CATALINA_OPTS="-javaagent:/opt/atlassian/confluence/atlassian-agent.jar ${CATALINA_OPTS}"' >> /opt/atlassian/confluence/bin/setenv.sh
  • 构建confluence镜像

    bash
    # 创建进入confluence目录 mkdir /usr/local/bin/confluence cd /usr/local/bin/confluence # 新建Dockerfile vim ./Dockerfile # 将上面的Dockerfile粘贴进去 # 使用 :wq 保存并退出 # 下载atlassian-agent.jar也放到/usr/local/bin/confluence目录下 # 下载mysql-connector-java-5.1.49-bin.jar也放到/usr/local/bin/confluence目录下 # 构建镜像 docker build -f Dockerfile -t confluence/confluence:8.8.0 .

配置mysql

  • 编写配置文件

    jira.cnf
    [mysqld] default-storage-engine=INNODB character-set-server=utf8mb4 collation-server=utf8mb4_bin max_allowed_packet=256M innodb_log_file_size=2G transaction-isolation=READ-COMMITTED
  • 编写自动化脚本init-databases.sql

    sql
    CREATE DATABASE IF NOT EXISTS jiradb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; CREATE DATABASE IF NOT EXISTS confluencedb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; CREATE USER IF NOT EXISTS 'jirauser'@'%' IDENTIFIED BY 'password'; CREATE USER IF NOT EXISTS 'confluenceuser'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON jiradb.* TO 'jirauser'@'%'; GRANT ALL PRIVILEGES ON confluencedb.* TO 'confluenceuser'@'%'; FLUSH PRIVILEGES;
  • 创建环境

    bash
    # 创建进入mysql目录 mkdir /usr/local/bin/mysql cd /usr/local/bin/mysql # 创建数据持久化目录 mkdir data mkdir ../jira_data mkdir ../confluence_data # 创建自动化脚本 mkdir initdb vim ./initdb/init-databases.sql # 将上面的自动化脚本内容复制进去 # 使用:wq保存退出 # 创建配置文件目录 mkdir conf.d vim ./conf.d/jira.cnf # 将上面的配置文件内容复制进去 # 使用:wq保存退出

编写docker-compose.yml

计划通过一个docker-compose.yml同时拉起三个服务,mysql5.7、jira、confluence,后期再添加openldap

yml
version: '3.8' services: mysql: image: mysql:5.7 container_name: mysql restart: always environment: MYSQL_ROOT_PASSWORD: rootpassword MYSQL_DATABASE: jiradb MYSQL_USER: jirauser MYSQL_PASSWORD: jirapassword ports: - "3306:3306" volumes: - ./mysql/data:/var/lib/mysql - ./mysql/conf.d:/etc/mysql/conf.d - ./mysql/initdb:/docker-entrypoint-initdb.d networks: - auth-network jira: image: atlassian/jira-software:8.16.1 container_name: jira restart: always environment: - JVM_MINIMUM_MEMORY=2g - JVM_MAXIMUM_MEMORY=4g ports: - "8080:8080" volumes: - ./jira_data:/var/atlassian/application-data/jira depends_on: - mysql networks: - auth-network confluence: image: atlassian/confluence-server:8.8.0 container_name: confluence restart: always environment: - JVM_MINIMUM_MEMORY=2g - JVM_MAXIMUM_MEMORY=4g ports: - "8090:8090" volumes: - ./confluence_data:/var/atlassian/application-data/confluence depends_on: - mysql networks: - auth-network networks: auth-network: external: true

启动容器

bash
# 创建docker-compose.yml文件 cd /usr/local/bin vim docker-compose.yml # 将上面的配置文件复制进去 # 使用:wq保存退出 docker-compose up -d

本文作者:Yaki

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!