真!docker离线部署GLPI资产管理系统

#Linux系统基础

一、准备工作

1.在离线环境中安装好docker和docker-compose

网上有很多例子,不再赘述

2.离线安装Dpanel面板

3.联网环境中配置docker镜像源地址

  • 准备一个可以上网的Linux,安装好docker和docker-compose之后配置镜像地址
  • 原有的镜像地址可能导致镜像下载速度慢的问题!!!
  • 建议修改镜像站地址
bash 复制代码
vi /etc/docker/daemon.jsion  #打开docker镜像源配置文件


#更新为以下配置
{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://docker.imgdb.de",
        "https://docker-0.unsee.tech",
        "https://docker.hlmirror.com",
        "https://docker.1ms.run",
        "https://func.ink",
        "https://lispy.org",
        "https://docker.xiaogenban1993.com"
    ]
}

#修改完成之后保存退出
#重启docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker

4.联网环境准备项目部署文件

bash 复制代码
mkdir -p /docker/glpi && cd /dcoker/glpi  #创建项目目录用于存放项目文件

在当前目录下准备部署文件docker-compose.yaml

  • 按照下面的文档编辑该文件,在该文件执行时,docke会按照文件的内容下载相关镜像,并创建响应的容器,后续该文件也需要拷贝至离线服务器中⚠️🔥
bash 复制代码
version: "3.2"

services:
# MariaDB Container
  mariadb:
    image: mariadb:10.7
    container_name: mariadb
    hostname: mariadb
    volumes:
      - /docker/glpi/mysql:/var/lib/mysql
    environment:
      - MARIADB_ROOT_PASSWORD=glpi
      - MARIADB_DATABASE=glpi
      - MARIADB_USER=glpi
      - MARIADB_PASSWORD=glpi
    
    restart: always

# GLPI Container
  glpi:
    image: diouxx/glpi
    container_name : glpi
    hostname: glpi
    ports:
      - "8088:80"
    links:
      - mariadb:mariadb
    volumes:
#     - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
      - /docker/glpi/html/:/var/www/html/glpi
    environment:
      - TIMEZONE=Asia/Shanghai
    restart: always
    depends_on:
      - mariadb

5.在联网环境中部署glpi

在当前目录下在运行下面命令,等待执行完毕

bash 复制代码
docker-compose -f docker-compose.yaml up -d 
#运行完毕后,查看容器
docker ps
  • 查看当前容器运行情况

6.镜像文件

bash 复制代码
#查看docker镜像
docker images

#保存相关镜像为tar文件,注意将[]替换为你的实际镜像ID
docker save -o glpi.tar [glpi镜像ID]
docker save -o mariaDB.tar [mariaDB镜像ID]

7.下载glpi源码

在上述的操作过后,glpi并不是立即就可以运行,通过查看glpi容器的运行日志,发现该容器还需要访问github将源码glpi-11.0.4.tgz下载解压至该容器的/var/www/html目录下才可以正常访问系统,所以在离线环境必须实现准备好该源码文件

使用浏览器,访问以下连接进行下载
https://github.com/glpi-project/glpi/releases/download/11.0.4/glpi-11.0.4.tgz

8.整理离线部署文件

将联网服务器中的文件拷贝至离线环境中

以下是该项目最终需要准备好的离线文件

  • docker-compose.ymal,用于安装部署glpi和mariaDB
  • docker-compose-dpanel.yaml,用于安装Dpanel面板,管理docker
  • dpanel.tar ,dpanel的镜像文件
  • glpi.tar glpi镜像文件
  • mariaDB.tar 数据库镜像文件
  • glpi-11.0.4.tgz glpi源码文件

二、离线安装

1.安装dpanel面板和系统镜像

  • 离线服务器中创建以下目录
bash 复制代码
mkdir -p /docker/ && cd /docker
  • 将上述文件拷贝至离线服务器中,进行以下操作
bash 复制代码
#安装dpanel面板
docker load -i dpanel.tar
docker-compose -f docker-compose-dpanel.yaml up -d

#安装glpi
docker load -i mariaDB.tar
docker load -i glpi.tar
docker-compose -f docker-compose.ymal up -d
  • 等待程序执行完毕后进行下一步操作

2.拷贝glpi源码至容器

  • 打开dpanel面板,点击容器管理,点击管理glpi容器文件

  • 切换到目录:/var/wwqw/html,将 glpi-11.0.4.tgz文件拷贝至该目录下,系统会自动解压文件

3.重启glpi容器

4.手动授权目录

  • 上述操作后,glpi容器任然报错,需要手动将/var/wwqw/html/glpi目录进行授权,授予写权限

5.再次重启glpi容器即可

三、浏览器访问

浏览器访问http://yourhostIP:8088进行访问

✨注意:这里的端口号在前面的docker-compose.yaml中进行了定义,如需自定义,请在前面的步骤中提前修改

  • 注意,在后续的安装引导中将以下信息填写至其中(相关定义同样在)docker-compose.yaml中定义,建议修改强密码!!!
    • 数据库地址:mariadb
    • 数据库账号:glpi
    • 数据库密码:glpi
相关推荐
斯普信云原生组1 天前
Prometheus 环境监控虚机 Redis 方案(生产实操版)
运维·docker·容器
喵了几个咪1 天前
如何在 Superset Docker 容器中安装 MySQL 驱动
mysql·docker·容器·superset
工具罗某人1 天前
docker compose部署kafka集群搭建
docker·容器·kafka
开心码农1号1 天前
k8s中service和ingress的区别和使用
云原生·容器·kubernetes
L1624761 天前
Kubernetes 完整学习手册(1 主多从 + 纯 YAML 部署 + 访问原理)
学习·容器·kubernetes
sbjdhjd1 天前
Docker | 核心概念科普 + 保姆级部署
linux·运维·服务器·docker·云原生·面试·eureka
摇滚侠1 天前
Vmvare 虚拟机安装 Linux CentOS 7 操作系统 一键安装 Docker 1Panel 一键安装 MySQL Redis OpenClaw
linux·docker·centos
comedate1 天前
【OpenClaw】 Open-WebUI Docker 部署连接本地 Ollama 技术文档
docker·ollama·openwebui·openclaw
川trans1 天前
基于 Docker & K8s 的 MySQL 容器化部署与应用关联实践
mysql·docker·kubernetes
BullSmall1 天前
Prometheus 可以监控docker 部署的Nginx 吗?
nginx·docker·prometheus