docker使用自定义镜像zabbix服务
一、关闭firewall,永久关闭,使用iptables防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running) yum install iptables-services -y # 安装防火墙
systemctl restart iptables.service # 重启防火墙
二、安装docker
要求centos7版本
yum install docker -y 安装
docker -v 查看版本
Docker version 1.12.6, build 3e8e77d/1.12.6
systemctl start docker 启动docker
ps -ef|grep docker 查看是否有docker进程
systemctl enable docker 设置docker开机自启动
三、下载打包好镜像文件
1)本地镜像制作过程
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
da67831689e3 docker.io/nginx "/bin/bash" 17 seconds ago Up 16 seconds 0.0.0.0:80->80/tcp cocky_aryabhata
[root@localhost ~]#
[root@localhost ~]# docker commit da67831689e3 test
sha256:783e5f357a7fec72303b88fd4a6a97268ea3481fc2433331a23a59e4552ff1ed
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test latest 783e5f357a7f 6 seconds ago 109 MB
docker.io/nginx latest 7042885a156a 12 days ago 109 MB
[root@localhost ~]# [root@localhost ~]# docker save test > new_nginx.tar
[root@localhost ~]# ls
anaconda-ks.cfg new_nginx.tar
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test latest 783e5f357a7f 6 minutes ago 109 MB
docker.io/nginx latest 7042885a156a 12 days ago 109 MB
[root@localhost ~]# cat new_nginx.tar |docker import - new-nginx
sha256:8e1deabb4ca699ac12196e09b2bd3742f6dc6eb2f5df5f64ee4487634d7ddf41
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
new-nginx latest 8e1deabb4ca6 3 seconds ago 113 MB
test latest 783e5f357a7f 7 minutes ago 109 MB
docker.io/nginx latest 7042885a156a 12 days ago 109 MB
1)上传打包好的镜像文件
[root@Squid ~]# docker images 查看本地镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
# 上传打包好的镜像包lamp-zabbix.tar
[root@Squid ~]# ll lamp-zabbix.tar
-rw-r--r--. 1 root root 1323229696 2月 10 14:27 lamp-zabbix.tar
[root@Squid ~]# cat lamp-zabbix.tar |docker import - lamp-zabbix:v1
sha256:8c4e625c0b2806330b8e974283dfaf7987305c428bb63152c3532f38bf0f728d
[root@Squid ~]# docker images # 有文件说明导入docker成功
REPOSITORY TAG IMAGE ID CREATED SIZE
lamp-zabbix v1 8c4e625c0b28 About a minute ago 1.302 GB
四、运行lamp-zabbix容器
[root@Squid ~]# docker run --name zabbix_server -t -i -p 88:80 8c4e625c0b28 /bin/bash
# 将容器的web 80端口映射到容器外部80端口上
[root@7d17cdcaf9bd /]# /etc/init.d/httpd start
[root@7d17cdcaf9bd /]# /etc/init.d/mysqld start
[root@7d17cdcaf9bd /]# /etc/init.d/zabbix_server start
[root@7d17cdcaf9bd /]# exit 退出容器
[root@Squid ~]# vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport -j ACCEPT
[root@Squid ~]# docker start zabbix_server
五、慎用的操作的恢复
[root@7d17cdcaf9bd /]# exit 退出容器,即停止容器。容器的业务都将停止
[root@Squid ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [root@Squid ~]# docker start 7d17cdcaf9bd 再次进入容器
iptables: No chain/target/match by that name. 报错
[root@Squid ~]# docker start 7d17cdcaf9bd # 重启docker
7d17cdcaf9bd
[root@Squid ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7d17cdcaf9bd 8c4e625c0b28 "/bin/bash" 27 minutes ago Up 10 seconds 0.0.0.0:88->80/tcp zabbix_server
# 容器已经启动
[root@Squid ~]# docker exec -ti 7d17cdcaf9bd /bin/bash
[root@7d17cdcaf9bd /]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
六、对于zabbix超级用户密码的修改
1)知道密码的情况下进行修改

2)忘记密码的情况下进行修改
登录数据库修改
# mysql -uroot -p #登陆数据库
mysql> show databases;
mysql> use zabbix;
mysql> show tables;
| triggers |
| users |
| users_groups |
| usrgrp |
| valuemaps |
+----------------------------+
127 rows in set (0.00 sec)
=====》users表就是存放用户密码的表,而ID为1就是超级管理员的账号密码
mysql> select * from users; # 查看表里的字段,admin对应的ID是1
mysql> select userid,passwd from users;
+--------+----------------------------------+
| userid | passwd |
+--------+----------------------------------+
| 1 | a9eead793bcab362333108a451447758 |
| 2 | d41d8cd98f00b204e9800998ecf8427e |
+--------+----------------------------------+
2 rows in set (0.00 sec)
=====》密码是经过md5加密的
重新开个终端,生成一个MD5加密的密码,这里密码设置的是RedHat
[root@localhost ~]# echo -n redhat|openssl md5 #-n就表示不输入回车符,不加-n,否则就不是这个结果了。
(stdin)= e2798af12a7a0f4f70b4d69efbc25f4d
接着上面的为admin用户设定一个密码
mysql> update users set passwd='e2798af12a7a0f4f70b4d69efbc25f4d' where userid = '1';
#或者直接使用update users set passwd=md5("redhat") where userid='1';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
mysql> quit
七、docker启动错误
[root@Squid ~]# docker start c6c3b185f2ce
Error response from daemon: devmapper: Error mounting '/dev/mapper/docker-253:0-35197283-f75fa419830cf84b0dbc1d1d06e9bc67de6fc41789b5abd3ef221c291222f47a' on '/var/lib/docker/devicemapper/mnt/f75fa419830cf84b0dbc1d1d06e9bc67de6fc41789b5abd3ef221c291222f47a'. fstype=xfs options=nouuid,context="system_u:object_r:svirt_sandbox_file_t:s0:c34,c941": invalid argument
<6>[ 111.172763] IPv6: ADDRCONF(NETDEV_UP): docker0: link is not ready
<4>[ 130.630581] sched: RT throttling activated
<4>[ 238.455112] XFS (dm-3): unknown mount option [context="system_u:object_r:svirt_sandbox_file_t:s0:c34].
Error: failed to start containers: c6c3b185f2ce
修复方法主要有两种:
- 可以将selinux重新置为enable,然后重启物理机,即可修复。
- 修改容器的配置。比如我的容器的配置是
/var.lib/docker/containers/e7ef71494940ba293be4b3f74198bf34835c35537810053b051d9a6c33adbd32/config.v2.json文件。将其中的"MountLabel": "system_u:object_r:svirt_sandbox_file_t:s0:c12,c257", "ProcessLabel": "system_u:system_r:svirt_lxc_net_t:s0:c12,c257"重修修改为"MountLabel": "", "ProcessLabel": "",然后重新启动docker daemon,容器即可修复。
docker使用自定义镜像zabbix服务的更多相关文章
- docker构建自定义镜像
docker构建自定义镜像 要构建一个镜像,第一步准备所需要的文件,第二步编写Dockerfile文件,比如我现在构建一个java web镜像 第一步:准备java web工程的war包文件(这里假设 ...
- docker基础——自定义镜像、创建私有仓库、查看 docker 运行状态
一.自定义镜像 1,案例1 要求:请自定义一个 docker 镜像,基于 hub.c.163.com/library/centos,要求创建出来的镜像在生成容器的时候,可以直接使用 ifconfig ...
- Docker 11 自定义镜像
参考源 https://www.bilibili.com/video/BV1og4y1q7M4?spm_id_from=333.999.0.0 https://www.bilibili.com/vid ...
- Docker入门3------手动编辑自定义镜像
手动编辑自定义镜像 查看本地现有镜像: 基于centos创建一个,会自动下载centos最新原始镜像 docker run -it --name=web centos /bin/bash 然后在容器内 ...
- Docker | 第五章:构建自定义镜像
前言 上一章节,主要是介绍了下Dockerfile的一些常用命令的说明.我们知道,利用Dockerfile可以构建一个新的镜像,比如运行Java环境,就需要一个JDK环境的镜像,但直接使用公共的镜像时 ...
- docker+zabbix,使用docker搭建zabbix服务
Zabbix 介绍 zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵 ...
- 【Docker学习之五】Docker自定义镜像示例
环境 docker-ce-19.03.1-3.el7.x86_64 centos 7 一.创建centos+jdk+tomcat镜像 对于公用的容器比如,tomcat.nginx.mysql等应用组件 ...
- 五十四.自定义镜像及仓库、持久化存储 、 Docker网络架构
1. 制作自定义镜像(base基础镜像,搭建共性环境) 基于centos镜像使用commit创建新的镜像文件 基于centos镜像使用Dockerfile文件创建一个新的镜像文件 1.1 使用镜像 ...
- Docker学习(六)Dockerfile构建自定义镜像
Docker学习(六)Dockerfile构建自定义镜像 前言 通过前面一篇文章可以知道怎么去使用一个镜像搭建服务,但是,如何构造自己的一个镜像呢,docker提供了dockerfile可以让我们自己 ...
随机推荐
- 关于vs2010开发的ASP项目部署到XPSP2系统上出现找不到Reportviewer.XX.文件的解决方案
尝试方法如下: 1.将webform.dll.winform.dll.common.dll三个引用直接复制到服务器的Bin目录,未解决问题,提示无法正确加载,程序及已关闭等. 2.SQLSysClrT ...
- RocketMq --consumer自动实现负载均衡
这边使用一个producer和两个consumer是实现负载均衡. 看一下代码示例 package com.alibaba.rocketmq.example.message.model; import ...
- JS判断变量类型
typeof v 只能用于识别基础类型,不能识别对象 v instanceof MyClass 判断类型 Object.prototype.toString.call(v.p) === "[ ...
- 【c++】c++ 11之lamba表达式
C++ lambda表达式与函数对象 lambda表达式是C++11中引入的一项新技术,利用lambda表达式可以编写内嵌的匿名函数,用以替换独立函数或者函数对象,并且使代码更可读.但是从本质上来讲, ...
- swift语言版本选择 - 解决XCode报错:The “Swift Language Version” (SWIFT_VERSION) build setting must be set to a supported valu
转发链接:https://blog.csdn.net/nathan1987_/article/details/79757368 The “Swift Language Version” (SWIFT_ ...
- 30-算法训练 最短路 spfa
http://lx.lanqiao.cn/problem.page?gpid=T15 算法训练 最短路 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个n个顶点, ...
- eclipse 安装python后pydev不出现
一.环境 windows 7 64bit eclipse 4.5.2 pydev jdk7u55 二.安装步骤 1. 安装JDK eclipse依赖于java环境,所以需要安装java运行环境JRE. ...
- 半吊子的STM32 — SPI通信
全双工,同步串行通信. 一般需要三条线通信: MOSI 主设备发送,从设备接收 MISO 主设备接收,从设备发送 SCLK 时钟线 多设备时,多线选取从机: 传输过程中,主从机中的移位寄存器中数据相互 ...
- 14.Mysql事务控制和锁定
14.事务控制和锁定存储引擎和锁: MyISAM和MEMORY存储引擎的表支持表级锁: BDB存储引擎的表支持页级锁: InnoDB存储引擎的表支持行级锁.默认情况下,表锁和行锁都是根据执行的语句自动 ...
- Oracle_PL/SQL(2) 过程控制
0.检索单行数据0.1使用标量变量接受数据例1: 7788declare v_ename emp.ename%type; v_sal emp.sal%type;begin select ename,s ...