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 更换 Docker 镜像源地址
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-reload
systemctl restart docker2.8 拉取镜像
拉取 ITOP 镜像
docker pull vbkunin/itop
以上是拉取 ITOP 镜像成功截图。
拉取 MySQL 镜像
docker pull mysql/mysql-server:5.7
以上是拉取 MySQL 镜像成功截图
2.9 创建 ITOP 和 MySQL 容器
创建 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镜像
创建 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.10 查看 MySQL 容器默认密码用于连接 ITOP 数据库
查看日志
docker logs mysql5.7

将默认密码复制出来后续安装会使用到。
2.11 连接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.12 修改 MySQL 默认密码(前面查看日志的那串默认密码)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'itop111111,';
flush privileges;
2.13 允许 MySQL 远程登录
use mysql;
update user set host='%' where user='root';
flush privileges;2.14 登录ITOP
浏览器输入:http://ip:8000访问itop页面,初始化创建,按下面图片流程走即可















部署完成!