1. 首先,从 Docker Hub 上拉取 Zabbix 镜像。可以使用以下命令:

    docker pull zabbix/zabbix-server-mysql:latest
    

    这会下载最新版本的 Zabbix Server 镜像和 MySQL 镜像。

  2. 然后,创建一个 Docker 网络以便容器可以相互通信:

    docker network create zabbix_network
    
  3. 接下来,启动 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 网络。请确保使用强密码。

  4. 接下来,启动 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 容器。

  5. 最后,我们可以启动一个 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 并开始监视主机。