docker环境下部署web_docker环境部署

docker环境下部署web_docker环境部署概述本文采用rpm包的方式,基于docker的centos7镜像层,构建一个zabbix的环境,其中包括zabbix服务端、mysql数据库、zabbix客户端以及grafana。Dockfilezabbix服务器

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

概述

  • zabbix在docker官方的镜像源中,有维护zabbix公司官方的镜像,我们可以通过hub.docker.com进行下载,搭建docker环境下的zabbix,可以使我们的安装和部署更加快捷。

zabbix的docker镜像源

  • 从这里 zabbix docker镜像源 我们可以打开看到zabbix官方在docker仓库里面维护的镜像源信息。
    在这里插入图片描述

mysql数据库部署

  • 在部署zabbix服务器前,需要提前部署mysql服务器并且创建好zabbix数据库以及用户

拉取mysql镜像

docker pull mysql

Jetbrains全家桶1年46,售后保障稳定

运行mysql服务器

docker run -itd --name zabbix-database -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password mysql
  • 上述命令将创建一个名为zabbix-database,并且把3306端口映射到docker主机的3306,设置mysql的root用户密码为password

创建zabbix用户和数据库

  • 进入docker容器
docker exec -it  zabbix-database /bin/bash
  • 登录数据库
mysql -ppassword
  • 创建zabbix数据库
create database zabbix character set utf8 collate utf8_bin;
  • 创建zabbix用户
create user 'zabbix'@'localhost' identified WITH mysql_native_password by 'password'; create user 'zabbix'@'%' identified WITH mysql_native_password by 'password';
  • zabbix用户授权
 grant all privileges on zabbix.* to 'zabbix'@'localhost'; grant all privileges on zabbix.* to 'zabbix'@'%';
 FLUSH PRIVILEGES;
  • 复制mysql初始化数据库文件到容器
docker cp mysql.tar.gz zabbix-database:/tmp
  • 导入zabbix初始化数据,初始化数据文件可以从zabbix的官方进行下载
tar -xvf /tmp/mysql.tar.gz
mysql -uzabbix -ppassword zabbix < /tmp/mysql/schema.sql
mysql -uzabbix -ppassword zabbix < /tmp/mysql/images.sql
mysql -uzabbix -ppassword zabbix < /tmp/mysql/data.sql

zabbix服务器部署

  • 这里我们选择使用以mysql作为后端存储的zabbix-server

拉取镜像

docker pull zabbix/zabbix-server-mysql

获取mysql服务器地址

docker inspect zabbix-database|grep IPAddress

运行zabbix-server容器

docker run --name zabbix-server -e DB_SERVER_HOST="172.17.0.2" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="password" -d zabbix/zabbix-server-mysql

zabbix-front服务器部署

  • 这里我们选择以 nginx+php作为前端控制台

拉取镜像

docker pull zabbix/zabbix-web-nginx-mysql

运行zabbix-front容器

docker run --name zabbix-web -p 8080:8080 --link zabbix-database:zabbix-database --link zabbix-server:zabbix-server -e DB_SERVER_HOST="zabbix-database" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="password" -e ZBX_SERVER_HOST="zabbix-server" -e PHP_TZ="Asia/Shanghai" -d zabbix/zabbix-web-nginx-mysql
  • –link 可以连接到docker环境下的对应名称的主机,前提这个主机容器必须存在
  • DB_SERVER_HOST 为数据库服务器地址,可以使用docker inspect进行查看
  • MYSQL_USER 连接数据库的用户名
  • MYSQL_PASSWORD 连接数据库的密码
  • ZBX_SERVER_HOST zabbix服务器,主要用于确认zabbix是否存活
  • PHP_TZ 时区配置
  • -p 将8080端口映射到本地主机的8080

效果验证

  • 打开docker服务器的8080端口,我们可以看到zabbix的服务器已经开始运行了并且可以访问。
    在这里插入图片描述
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219173.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker 2375

    docker 2375cd/usr/lib/systemd/system/vimdocker.service#在原本的ExecStart中添加tcp://0.0.0.0:2375[Service]Type=notify#thedefaultisnottousesystemdforcgroupsbecausethedelegateissuesstil…

    2022年6月11日
    32
  • docker安装redis集群_docker eureka集群

    docker安装redis集群_docker eureka集群NeoKylin-Server离线部署跨主机redis集群NeoKylin-Server离线部署跨主机redis集群一、说明二、部署过程:1.切换root账号或所有语句加sudo;2.关闭6个节点防火墙(或打开端口);3.6个节点导入rpm包后安装基础环境:4.设置所有节点;5.启动docker并导入images;6.时间同步;7.etcd集群配置;8.部署flannel网络;9.n1-n3部署pxc;10.m1-m3部署Haproxy+Keepalived容器;11.m1-m3宿主机

    2022年8月10日
    7
  • Jenkins(4)docker容器内部修改jenkins容器时间[通俗易懂]

    Jenkins(4)docker容器内部修改jenkins容器时间[通俗易懂]前言用docker搭建的Jenkins环境时间显示和我们本地时间相差8个小时,需修改容器内部的系统时间查看时间查看系统时间date-R进入docker容器内部,查看容器时间dockere

    2022年7月29日
    10
  • docker启动mysql失败(闪退)原因

    docker启动mysql失败(闪退)原因创建好mysql之后容器之后可以连接后来修改了配置发现mysql启动不了dockerps-a查看发现mysql的状态一直是EXISTdockerstartmysql能成功启动(docker返回mysql)但是再查看dockerps发现还是没有启动起来大概可以知道就是docker启动之后又迅速关闭想起Docker容器后台运行,就必须有一个前台进程。否则就会自动关闭,大概推测是docker里的mysql没又起起来。想起刚刚修改了配置,可能是配置错了导致的。一看发现粘贴配置的时候格

    2025年11月10日
    8
  • docker(3)快速搭建centos7-python3.6环境[通俗易懂]

    docker(3)快速搭建centos7-python3.6环境[通俗易懂]前言当我们在一台电脑上搭建了python3.6的环境,下次换台电脑,又得重新搭建一次,设置环境变量等操作。好不容易安装好,一会提示pip不是内部或外部命令,一会又提示pip:commandno

    2022年7月30日
    10
  • docker部署redis哨兵集群_redis部署安装

    docker部署redis哨兵集群_redis部署安装Docker安装Docker部署redis在dockerhub上可以看到有redis的官方镜像不去网站,也可以通过如下命令查看有那些镜像可用Dockersearch命令dockersearchredis拉取redis镜像Dockerpull命令这里我们拉取官方的最新版本的镜像:dockerpullredis:latest查看本地镜像Dockerimages命令有redis和hello-world运行容器Dockerrun命令d

    2022年10月18日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号