1. 背景描述
本案例基于Ubuntu 22.04 LTS系统部署了iTop平台。iTop是一款遵循ITIL最佳实践的开源IT服务管理(ITSM)平台,其核心是一个功能强大的配置管理数据库(CMDB),用于统一管理IT资产及其关系。它提供了事件管理、服务请求、变更管理等核心ITSM流程,并且具有高度的可定制性和扩展性,能够很好地适应各类组织的运维管理需求。
2. 部署过程
本次部署需要保持网络连接,之后严格遵循下方步骤操作,即可完成安装。
2.1 下载 Docker 官方安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh2.2 执行安装脚本
sh get-docker.sh
2.3 查看 Docker 是否安装成功
docker --version
2.4 查看 Docker 服务是否启动
systemctl status docker
2.5 运行测试容器
docker run hello-world
出现以上内容则安装成功,如果提示以下类似报错则是镜像源有问题,需要更换镜像源。
docker: Error response from daemon: failed to resolve reference "docker.io/library/hello-world:latest": failed to do request: Head "https://dockerproxy.cn/v2/library/hello-world/manifests/latest?ns=docker.io": dial tcp 157.240.20.8:443: i/o timeout
2.6 运行测试容器
vi /etc/docker/daemon.json #如果文件不存在,直接创建即可。写入新的镜像源配置,将文件内容修改为以下示例。你可以一次性添加多个镜像源,Docker会按顺序尝试。
{
"registry-mirrors": [
"https://registry-1.docker.io",
"https://docker.1ms.run",
"https://docker.xuanyuan.me"
]
}2.7 保存配置并重启 Docker 服务
systemctl daemon-reloadsystemctl restart docker2.8 拉取ITOP镜像
docker pull vbkunin/itop
以上是拉取 ITOP 镜像成功截图。
2.8 拉取MySQL镜像
docker pull mysql/mysql-server:5.7
以上是拉取 MySQL 镜像成功截图。
2.9 创建 ITOP 容器
docker run -d -p 8000:80 --name=my-itop vbkunin/itop
命令详解:
docker run:运行一个新的容器。
-d:后台运行(detached模式),容器会在后台运行,不会占用当前终端。
-p 8000:80:端口映射,将主机的8000端口映射到容器的80端口,你可以通过 http://localhost:8000 或 http://服务器IP:8000 访问iTop。
--name=my-itop:为容器指定名称,容器名称设为"my-itop",方便后续管理(如停止、重启时引用)。
vbkunin/itop:Docker镜像名称,这是从Docker Hub拉取的官方iTop镜像。
2.10 创建 MySQL 容器
docker run --name=mysql5.7 -p 3307:3306 -p 33067:33060 -d mysql/mysql-server:5.7命令详解:
docker run:运行一个新的容器。
--name=mysql5.7:为容器指定名称,容器名称设为"mysql5.7",方便后续管理。
-p 3307:3306:第一个端口映射,将主机的3307端口映射到容器的3306端口(MySQL默认端口),你可以通过 mysql -h localhost -P 3307 连接到MySQL。
-p 33067:33060:第二个端口映射,将主机的33067端口映射到容器的33060端口,33060是MySQL X Protocol端口,用于MySQL Shell、X DevAPI等。
-d:后台运行(detached模式),mysql/mysql-server:5.7 - Docker镜像名称和版本标签这是MySQL官方在Docker Hub提供的MySQL Server 5.7镜像。
2.11 查看 MySQL 容器默认密码用于连接 ITOP 数据库
查看日志
docker logs mysql5.7

将默认密码复制出来后续安装会使用到。
2.12 连接MySQL
docker exec -it 231 mysql -uroot -p
命令详解:
docker exec:在运行中的容器内执行命令。
-it:两个参数组合。
-i:保持标准输入打开(interactive,交互模式)。
-t:分配一个伪终端(tty,终端模拟),通常一起使用,以便与容器内的命令交互。
231:容器标识符,这是容器ID的前3位(Docker允许使用部分ID,只要唯一即可),可以通过 docker ps 查看容器ID。
mysql -uroot -p:在容器内执行的命令,mysql:MySQL客户端程序,-uroot:使用root用户登录(u=user)。
-p:提示输入密码。
2.13 修改 MySQL 默认密码(前面查看日志的那串默认密码)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'itop111111,';
flush privileges;
2.14 允许 MySQL 远程登录
use mysql;
update user set host='%' where user='root';
flush privileges;2.15 登录ITOP
浏览器输入:http://ip:8000访问itop页面,初始化创建,按下面图片流程走即可















1小时前
10小时前