docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源,它可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,还可以实现虚拟化。下面将介绍docker的编译使用教程。

一、docker安装

1.安装docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyu

2.启动docker应用

systemctl start docker && systemctl enable docker

二、SQL安装

注:MySQL与PostGreSQL只选其一安装即可

(一)mysql安装

1、先创建对应用户

useradd mysql -u20223 -s /sbin/nologin

2、上传mysql5.7.36.tar与data.tar文件

mysql5.7.36.tar为镜像文件 ; data.tar为数据库文件和配置文件

3、导入镜像

docker load -i mysql5.7.36.tar

4.解压data.tar

mkdir -p
/itops/

 tar -xf data.tar -C /itops/

 chown mysql.mysql /itops/mysql -R

​5.运行

docker run -itd -p3306:3306 -v
/itops/mysql/etc:/etc/mysql/conf.d -v/itops/mysql/data:/var/lib/mysql
lw_mysql:5.7.36

账号:root

密码:ITIM_p@ssw0rd

账号:zabbix

密码:zabbix

(二)postgresql安装

1、先创建对应用户

useradd
postgres -u20224 -s /sbin/nologin

2、上传postgresql12.8.tar与data.tar文件

postgresql12.8.tar为镜像文件 ; data.tar为数据库文件和配置文件

3、导入镜像

docker load -i postgresql12.8.tar

4、解压data.tar

mkdir -p /itops/

tar -xf data.tar -C /itops/

chown postgres.postgres /itops/postgres -R

5、运行

docker run -itd
-v/itops/postgres/data:/var/lib/postgresql/data -v /itops/postgres/etc/postgres.conf:/etc/postgresql/postgresql.conf
-p5432:5432 lw_postgres:12.8

三、server安装

1、先创建对应用户

useradd zabbix -u20222 -s /sbin/nologin

2、上传zabbix_server.tar与conf.tar文件

zabbix_server.tar 为镜像文件;conf.tar为server配置文件和日志等目录

3、导入镜像

docker load -i zabbix_server.tar

4、解压conf.tar

mkdir -p /itops/zabbix_server

tar -xf conf.tar -C /itops/zabbix_server

5、替换本机IP地址

sed -i 's/192.168.229.17/本机ip/g' /itops/zabbix_server/etc/zabbix_server.conf

sed -i 's/192.168.229.17/本机ip /g' /itops/zabbix_server/etc/zabbix_agentd.conf

6、修改目录属主

chown zabbix.zabbix /itops/zabbix_server -R

7、运行

docker run 
-itd -p10050:10050 -p10051:10051 -p10052:10052
-v/itops/zabbix_server/:/itops/zabbix/ 
zabbix_server:5.0.16

四、Nginx安装

1、上传压缩包nginx-v1.3.tar.gz与itops_v1_4_x86_64.tar文件

itops_v1_4_x86_64.tar 为镜像文件;nginx-v1.3.tar.gz为nginx配置文件和日志等目录​

2、导入镜像

docker load -i itops_v1_4_x86_64.tar

​3、解压nginx-v1.3.tar.gz

mkdir -p /itops/

tar -xf nginx-v1.3.tar.gz -C /itops/

4、修改配置文件

sed -i
's/192.168.126.151/本机ip/g'  /itops/nginx/html/zabbix/conf/zabbix.conf.php

sed -i
's/192.168.126.151/本机ip/g' 
/itops/nginx/html/lwjk_v3/web/z/conf/zabbix.conf.php

sed -i
's/192.168.126.151/本机ip/g'  /itops/nginx/html/lwjk_v3/config/db.php

​5、运行

docker run -d  
-v /itops/nginx/etc:/itops/etc -v /itops/nginx/html:/itops/nginx/html -p
80:80 -p 8081:8081 itops:v1.3

/itops/php/sbin/php-fpm --fpm-config
/itops/etc/php/php-fpm.conf

/itops/nginx/sbin/nginx -c
/itops/etc/nginx/nginx.conf -g "daemon off;"

五、agent安装

1、上传zabbix_agent.tar conf.tar

zabbix_agent.tar 为镜像文件;conf.tar为agent配置文件和日志目录

2、导入镜像

docker load -i zabbix_agent.tar

3、解压conf.tar

mkdir -p /itops/zabbix_agent

tar -xf conf.tar -C /itops/zabbix_agent

chown zabbix.zabbix /itops/zabbix_agent -R

4、修改配置文件

sed -i 's/127.0.0.1/本地ip/g'
/itops/zabbix_agent/etc/zabbix_agentd.conf

5、运行

docker run  -itd -p10050:10050
 -v/itops/zabbix_agent/etc/:/itops/zabbix/etc/ -v/itops/zabbix_agent/logs/:/itops/zabbix/logs/
-v/itops/zabbix_agent/scripts/:/itops/zabbix/scripts/ zabbix_agent:5.0.16

6、登录web界面

http://本机ip

账号:Admin

密码:zabbix

到这里docker编译过程就结束了。我是乐维IT君,专注运维技术分享,更多docker及其他运维内容,还可以查看我的往期内容,使用docker-compose快速部署zabbix监控系统,zabbix技术分享。

Zabbix技术分享——docker组件编译使用教程的更多相关文章

  1. AY写给国人的教程- VS2017 Live Unit Testing[1/2]-C#人爱学不学-aaronyang技术分享

    原文:AY写给国人的教程- VS2017 Live Unit Testing[1/2]-C#人爱学不学-aaronyang技术分享 谢谢大家观看-AY的 VS2017推广系列 Live Unit Te ...

  2. AY写给国人的教程- VS2017 Live Unit Testing[2/2]-C#人爱学不学-aaronyang技术分享

    原文:AY写给国人的教程- VS2017 Live Unit Testing[2/2]-C#人爱学不学-aaronyang技术分享 谢谢大家观看-AY的 VS2017推广系列 Live Unit Te ...

  3. 技术分享 | 自制GreatSQL Docker镜像

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 近期打算制作一个GreatSQL的docker镜像,方便社区用户使用GreatSQL. 制作docker镜像的环境基于Ce ...

  4. 腾讯技术分享:微信小程序音视频与WebRTC互通的技术思路和实践

    1.概述 本文来自腾讯视频云终端技术总监rexchang(常青)技术分享,内容分别介绍了微信小程序视音视频和WebRTC的技术特征.差异等,并针对两者的技术差异分享和总结了微信小程序视音视频和WebR ...

  5. docker容器入门最佳教程

    为什么要写这个 简单回答是:容器技术非常热门,但门槛高. 容器技术是继大数据和云计算之后又一炙手可热的技术,而且未来相当一段时间内都会非常流行. 对 IT 行业来说,这是一项非常有价值的技术.而对 I ...

  6. Springcloud技术分享

    Springcloud技术分享 Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来 ...

  7. fir.im Weekly - 新开发时代,需要什么样的技术分享

    "2016年,当我们迎来了如Xcode 8.Swift 3.SiriKit.Android N.Android Instant Apps.React Native等诸多移动开发技术.开发工具 ...

  8. fir.im Weekly - 8 个不能错过的 iOS / Android 技术分享

    本期 fir.im Weekly 收集了 2 月下旬新鲜出炉的 iOS /Android 技术分享.源码等,iOS 中图片技术的解压缩.逆向实战.iOS SDK 实践,Android架构思考.Andr ...

  9. Java开源博客My-Blog之docker组件化修改

    前言 5月13号上线了自己的个人博客,<Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统开源啦>,紧接着也在github上开源了博客的代码,到现在为 ...

  10. 爱奇艺技术分享:爱奇艺Android客户端启动速度优化实践总结

    本文由爱奇艺技术团队原创分享,原题<爱奇艺Android客户端启动优化与分析>. 1.引言 互联网领域里有个八秒定律,如果网页打开时间超过8秒,便会有超过70%的用户放弃等待,对Andro ...

随机推荐

  1. 解决swiper组件autoplay报错问题

    最近在自定义一个swiper 插件 发现引用之后不定时一直在报错 Uncaught TypeError: Cannot read properties of undefined (reading 'a ...

  2. IEEE浮点数向偶数舍

    CSAPP ​ 向偶数舍入初看上去好像是个相当随意的目标--有什么理由偏向取偶数呢?为什么不始终把位于两个可表示的值中间的值都向上舍入呢?使用这种方法的一个问题就是很容易假想到这样的情景:这种方法舍入 ...

  3. ProxySQL SSL 配置

    后端 SSH 连接配置 从版本 v1.2.0e 开始,ProxySQL 支持对后端使用 SSL 连接. 重要提示: 仅支持 v1.x 中的后端 SSL.在 v2.x 之前的版本中,客户端是无法使用 S ...

  4. 8Hello world

    Name=input("请输入你的名字:") print('欢迎你',Name)

  5. IC入门课第五课作业:完善 Microblog 前端(1、显示发布者的名字;2、增加新UI、3、关注其他学员的 canister)

    上周完成了 IC 入门课程第五课的作业 现将答案贴出,欢迎同学们参考,禁止抄袭作业哦 课程作业 (完善 microblog 前端) 1. 显示消息的发布者名字 a. 给 Message 增加 auth ...

  6. Go实现优雅关机与平滑重启

    前言 优雅关机就是服务端关机命令发出后不是立即关机,而是等待当前还在处理的请求全部处理完毕后再退出程序,是一种对客户端友好的关机方式.而执行Ctrl+C关闭服务端时,会强制结束进程导致正在访问的请求出 ...

  7. day01-3-界面显示&用户登录&餐桌状态显示

    满汉楼01-3 4.功能实现02 4.2菜单界面显示 4.2.1功能说明 显示主菜单.二级菜单和退出系统功能 4.2.2代码实现 先搭建界面显示的大体框架,具体的功能后面再实现 创建MHLView类: ...

  8. Mysql索引(究极无敌细节版)

    参考了: https://www.jianshu.com/p/ace3cd6526c4 推荐up主https://space.bilibili.com/377905911 推荐书籍<mysql是 ...

  9. 经典排序算法之-----选择排序(Java实现)

    其他的经典排序算法链接地址:https://blog.csdn.net/weixin_43304253/article/details/121209905 选择排序思想: 思路: 1.从整个数据中挑选 ...

  10. Vue中引入echarts。

    1.安装 在终端vue项目的文件夹下运行npm install echarts --save安装依赖 可以使用npm install echarts@("这里可以写版本号") -- ...