前文介绍了Docker容器技术的一些基本概念和基本操作,可以说容器化技术已经应用地越来越普遍了,越来越多的产品都提供容器化的部署方案 。本文就以Docker容器化部署Zabbix监控系统为例,看看与传统的部署方式相比,容器化部署会给用户带来多少便捷 。Zabbix容器安装官方参考地址
【Docker容器部署Zabbix监控系统】https://www.zabbix.com/documentation/4.0/zh/manual/installation/containers
1.安装docker 。
yum install -y docker2.启动docker 。
systemctl start docker3.安装运行MySQL5.7数据库容器,本地没有镜像自动会从默认docker仓库拉取,镜像拉取完以后才会在本地运行容器服务,--name参数指定mysql数据库容器名为mysql-server,-d参数为后台运行,并传入一些参数创建zabbix数据库,设置zabbix用户密码,设置root用户密码,设置数据库字符集为uft8 。
docker run --name mysql-server -t-e MYSQL_DATABASE="zabbix"-e MYSQL_USER="zabbix"-e MYSQL_PASSword="zabbix"-e MYSQL_ROOT_PASSWORD="zabbix"-d mysql:5.7--character-set-server=utf8 --collation-server=utf8_bin3.安装运行 Zabbix server 容器,标签latest为最新版本,使用link参数使两个容器相互链接,关联到已创建的 mysql-server容器,-p参数把容器zabbix server服务的10051端口映射为本机的10051端口 。。
docker run --name zabbix-server-mysql -t-e DB_SERVER_HOST="mysql-server"-e MYSQL_DATABASE="zabbix"-e MYSQL_USER="zabbix"-e MYSQL_PASSWORD="zabbix"-e MYSQL_ROOT_PASSWORD="zabbix"--link mysql-server:mysql-p 10051:10051-d zabbix/zabbix-server-mysql:latest4.最后安装运行Zabbix的Web前端容器,并关联到已创建的 mysql-server容器和zabbix-server-mysql容器 。
docker run --name zabbix-web-Nginx-mysql -t-e DB_SERVER_HOST="mysql-server"-e MYSQL_DATABASE="zabbix"-e MYSQL_USER="zabbix"-e MYSQL_PASSWORD="zabbix"-e MYSQL_ROOT_PASSWORD="zabbix"--link mysql-server:mysql--link zabbix-server-mysql:zabbix-server-p 80:80-d zabbix/zabbix-web-nginx-mysql:latest5.查看运行的容器,可以看到我们创建的三个容器已经正常运行了 。
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 312e0c52f548 zabbix/zabbix-web-nginx-mysql:latest "docker-entrypoint.sh" 4 minutes ago Up 4 minutes 0.0.0.0:80->80/tcp, 443/tcp zabbix-web-nginx-mysql b773b24771e1 zabbix/zabbix-server-mysql:latest "/sbin/tini -- /us..." 5 minutes ago Up 5 minutes 0.0.0.0:10051->10051/tcp zabbix-server-mysql c1b368c72db7 mysql:5.7 "docker-entrypoint..." 8 minutes ago Up 8 minutes 3306/tcp, 33060/tcp mysql-server6.浏览器输入IP地址打开Zabbix登录界面,可以看到右上角显示的是zabbix docker 。
文章插图
7.输入默认用户名Admin,密码zabbix登录成功 。
文章插图
可以看到容器化部署Zabbix监控系统与传统的部署方式相比确实要便捷很多,我们只要部署三个相关容器就可以运行了 。
推荐阅读
- PHP+Nginx部署配置文件正确优化改良详解
- docker mysql主从,跨公网IP
- 使用SQL Compare命令行来自动化数据库部署
- 容器技术为什么会这么流行
- 美团外卖前端容器化演进实践
- Docker映像进行版本控制
- web容器是如何解析http报文的
- Windows下部署DHCP服务
- Docker为什么这么火?
- 借助minid工具优化Dockerfile分层