Docker 容器上部署 Zabbix
-
首先,从 Docker Hub 上拉取 Zabbix 镜像。可以使用以下命令:
docker pull zabbix/zabbix-server-mysql:latest
这会下载最新版本的 Zabbix Server 镜像和 MySQL 镜像。
-
然后,创建一个 Docker 网络以便容器可以相互通信:
docker network create zabbix_network
-
接下来,启动 MySQL 容器并将其连接到上面创建的 Docker 网络:
docker run --name zabbix-mysql-server -t \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix_pwd" \ -e MYSQL_ROOT_PASSWORD="mysql_root_pwd" \ --network zabbix_network \ -d mysql:latest \ --character-set-server=utf8 --collation-server=utf8_bin \ --default-authentication-plugin=mysql_native_password
这将创建一个名为
zabbix-mysql-server
的容器,使用mysql
镜像运行一个 MySQL 服务器,并将其连接到zabbix_network
网络。请确保使用强密码。 -
接下来,启动 Zabbix Server 容器并将其连接到 Docker 网络和 MySQL 容器:
docker run --name zabbix-server -t \ -e DB_SERVER_HOST="zabbix-mysql-server" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix_pwd" \ -e MYSQL_DATABASE="zabbix" \ --network zabbix_network \ -p 10051:10051 \ -d zabbix/zabbix-server-mysql:latest
这将创建一个名为
zabbix-server
的容器,并使用 Zabbix Server 镜像运行 Zabbix Server。请注意,我们设置了DB_SERVER_HOST
以指向先前创建的 MySQL 容器。 -
最后,我们可以启动一个 Zabbix Agent 容器,以便监视主机。这可以使用以下命令完成:
docker run --name zabbix-agent -t \ --network zabbix_network \ -d zabbix/zabbix-agent:latest
这将在 Docker 网络上创建一个名为
zabbix-agent
的容器,并使用 Zabbix Agent 镜像启动 Zabbix Agent。
现在,您应该已经成功在 Docker 容器上部署了 Zabbix。您可以使用 Web 界面登录 Zabbix Server 并开始监视主机。