如何删除docker images/containers

docker images往往不知不觉就占满了硬盘空间,为了清理冗余的image,可采用以下方法: 1.进入root权限 sudo su 2.停止所有的container,这样才能够删除其中的images: docker stop $(docker ps -a -q) 如果想要删除所有container的话再加一个指令: docker rm $(docker ps -a -q) 3.查看当前有些什么images docker images 4.删除images,通过image的id来指定删除谁 docker rmi <image id> 想要删除untagged images,也就是那些id为<None>的image的话可以用 docker rmi $(docker images | grep "^<none>" | awk "{print $3}") 要删除全部image的话 docker rmi $(docker images -q)

使用kubeadm安装Kubernetes v1.10以及常见问题解答

http://blog.51cto.com/devingeng/2096495 关于K8S: Kubernetes是Google开源的容器集群管理系统。它构建于docker技术之上,为容器化的应用提供资源调度、部署运行、服务发现、扩 容缩容等整一套功能,本质上可看作是基于容器技术的mini-PaaS平台。 相信看过我博客的童鞋应该知道,我在14年的时候就发表了一篇名为Docker容器管理之Kubernetes当时国内Docker刚刚兴起,对于Docker的兴起我很有感触,仿佛一瞬间就火了,当时也是一个偶然的机会了解到K8S,所以当时就写文简单的介绍了下K8S以及如何采用源码部署。今时不同往日K8S在容器界已经是翘首,再读旧文有感而发,索性来研究下kubeadm安装K8S以及Dashboard功能预览。 环境描述: 采用CentOS7.4 minimual,docker 1.13,kubeadm 1.10.0,etcd 3.0, k8s 1.10.0 我们这里选用三个节点搭建一个实验环境。 10.0.100.202 k8smaster 10.0.100.203 k8snode1 10.0.100.204 k8snode2 准备环境: 1.配置好各节点hosts文件 2.关闭系统防火墙 3.关闭SElinux 4.关闭swap 5.配置系统内核参数使流过网桥的流量也进入iptables/netfilter框架中,在/etc/sysctl.conf中添加以下配置: 1 2 3 4 5 net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 sysctl -p 使用kubeadm安装: 1.首先配置阿里K8S YUM源 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes … Continue reading 使用kubeadm安装Kubernetes v1.10以及常见问题解答

企业自动化运维ansible

https://blog.csdn.net/itlinuxp/article/details/79561184 自动化运维工具ansible 运维自动化发展历程及技术应用 云计算工程师核心职能 Linux运维工程师职能划分 自动化动维应用场景 文件传输 命令执行 应用部署 配置管理 任务流编排 企业实际应用场景分析 1 Dev开发环境 使用者:程序员 功能:程序员开发软件,测试BUG的环境 管理者:程序员 1 2 3 2 测试环境 使用者:QA测试工程师 功能:测试经过Dev环境测试通过的软件的功能 管理者:运维 说明:测试环境往往有多套,测试环境满足测试功能即可,不宜过多 (1)测试人员希望测试环境有多套,公司的产品多产品线并发,即多个版本,意味着多个版本同步测试 (2)通常测试环境有多少套和产品线数量保持一样 1 2 3 4 5 6 3 发布环境:代码发布机,有些公司为堡垒机(安全屏障) 使用者:运维 功能:发布代码至生产环境 管理者:运维(有经验) 发布机:往往需要有2台(主备) 1 2 3 4 4 生产环境 使用者:运维,少数情况开放权限给核心开发人员,极少数公司将权限完全开放给开发人员并其维护 功能:对用户提供公司产品的服务 管理者:只能是运维 生产环境服务器数量:一般比较多,且应用非常重要。往往需要自动工具协助部署配置应用 1 2 3 4 5 … Continue reading 企业自动化运维ansible

Linux下Hadoop2.7.1集群环境的搭建(超详细版)

https://www.cnblogs.com/zishengY/p/6819160.html 本文旨在提供最基本的,可以用于在生产环境进行Hadoop、HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用。 一、基础环境 在Linux上安装Hadoop之前,需要先安装两个程序: 1.1 安装说明 1. JDK 1.6或更高版本(本文所提到的安装的是jdk1.7); 2. SSH(安全外壳协议),推荐安装OpenSSH。 下面简述一下安装这两个程序的原因: 1. Hadoop是用Java开发的,Hadoop的编译及MapReduce的运行都需要使用JDK。 2. Hadoop需要通过SSH来启动salve列表中各台主机的守护进程,因此SSH也是必须安装的,即使是安装伪分布式版本(因为Hadoop并没有区分集群式和伪分布式)。对于伪分布式,Hadoop会采用与集群相同的处理方式,即依次序启动文件conf/slaves中记载的主机上的进程,只不过伪分布式中salve为localhost(即为自身),所以对于伪分布式Hadoop,SSH一样是必须的。 1.1 JDK的安装与配置 1、上传压缩包 我这里使用的是WinScp工具 上传jdk-7u76-linux-x64.tar.gz压缩包 2、解压压缩包 tar -zxvf jdk-7u76-linux-x64.tar.gz 3、将解压的目录移动到/usr/local目录下 mv /lutong/jdk1.7.0_76/ /usr/local/ 4、配置环境变量 vim /etc/profile 5、重新加载/etc/profile,使配置生效 source /etc/profile 6、查看配置是否生效 echo $PATH java -version 出现如上信息表示已经配置好了。 二、Host配置 由于我搭建Hadoop集群包含三台机器,所以需要修改调整各台机器的hosts文件配置,进入/etc/hosts,配置主机名和ip的映射,命令如下: vim /etc/hosts 如果没有足够的权限,可以切换用户为root。 三台机器的内容统一增加以下host配置: 可以通过hostname来修改服务器名称为master、slave1、slave2 hostname master   三、Hadoop的安装与配置 3.1 创建文件目录 为了便于管理,给Master的hdfs的NameNode、DataNode及临时文件,在用户目录下创建目录: /data/hdfs/name /data/hdfs/data /data/hdfs/tmp … Continue reading Linux下Hadoop2.7.1集群环境的搭建(超详细版)

MySQL数据库 Event 定时执行任务.

一、背景 由于项目的业务是不断往前跑的,所以难免数据库的表的量会越来越庞大,不断的挤占硬盘空间。即使再大的空间也支撑不起业务的增长,所以定期删除不必要的数据是很有必要的。在我们项目中由于不清理数据,一个表占的空间竟然达到了4G之多。想想有多可怕... 这里介绍的是用MySQL 建立一个定时器Event,定期清除掉之前的不必要事件。 二、内容 #1、建立存储过程供事件调用 delimiter// drop procedure if exists middle_proce// create procedure middle_proce() begin DELETE FROM jg_bj_comit_log WHERE comit_time < SUBDATE(NOW(),INTERVAL 2 MONTH); optimize table jg_bj_comit_log; DELETE FROM jg_bj_order_create WHERE created_on < SUBDATE(NOW(),INTERVAL 3 MONTH); optimize table jg_bj_order_create; DELETE FROM jg_bj_order_match WHERE created_on < SUBDATE(NOW(),INTERVAL 3 MONTH); optimize table jg_bj_order_match; DELETE FROM jg_bj_order_cancel … Continue reading MySQL数据库 Event 定时执行任务.

Tomcat 日志分割.

一、前言 随着每天业务的增长,Tomcat 的catalina.out日志 变得越来越大,占用磁盘空间不说。要查看某个时候的日志的时候,庞大的日志让你顿时无从下手,所以日志的切割的变得刻不容缓。而且,切割后的日志,还可以定期清理掉久远的日志...... 二、Tomcat 日志分割 我们采用日期形式切割catalina.out 日志,因此采用cronlog 软件切割: 1、安装 cronlog  yum install -y cronolog httpd 2、修改bin/catalina.sh文件 (1)   if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out fi 改为: if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT="$CATALINA_BASE"/logs/%Y-%m-%d.catalina.out fi (2)  touch "$CATALINA_OUT" 改为: #touch "$CATALINA_OUT" (3)  org.apache.catalina.startup.Bootstrap "$@" start \ >> "$CATALINA_OUT" 2>&1 "&" 改为: org.apache.catalina.startup.Bootstrap "$@" start 2>&1 … Continue reading Tomcat 日志分割.

linux shell 遍历指定目录下的所有文件夹

在linux 中,如何遍历指定目录下的所有文件夹呢? 要求能搜索结果中包含隐藏文件夹 脚本名:ergodic_folder.sh 脚本内容: Shell代码   #!/bin/sh list_alldir(){     for file2 in `ls -a $1`     do         if [ x"$file2" != x"." -a x"$file2" != x".." ];then             if [ -d "$1/$file2" ];then                 echo "$1/$file2"                 list_alldir "$1/$file2"             fi         fi     done } list_alldir ./test   测试如下:   [root@localhost whuang]# ./ergodic_folder.sh ./test/.abc ./test/.abc/.ccc ./test/bbb

mysql全量备份、增量备份实现方法

mysql全量备份、增量备份。开启mysql的logbin日志功能。在/etc/my.cnf文件中加入以下代码: ? 1 2 3 4 5 6 7 [mysqld] log-bin = "/home/mysql/logbin.log" binlog-format = ROW log-bin-index = "/home/mysql/logindex" binlog_cache_size=32m max_binlog_cache_size=512m max_binlog_size=512m 重启mysql即可。其中路径 /home/mysql的用户和组要改成mysql。 2、增量备份 在/home/mysql/目录下建立以下目录: ? 1 mkdir -p /home/mysql/backup/daily 增量备份脚本 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 … Continue reading mysql全量备份、增量备份实现方法

mysql数据库误删除后的数据恢复操作说明

http://www.cnblogs.com/kevingrace/p/5904800.html 在日常运维工作中,对于mysql数据库的备份是至关重要的!数据库对于网站的重要性使得我们对mysql数据的管理不容有失! 然后,是人总难免会犯错误,说不定哪天大脑短路了来个误操作把数据库给删除了,怎么办??? 下面,就mysql数据库误删除后的恢复方案进行说明。 一、工作场景 (1)MySQL数据库每晚12:00自动完全备份。 (2)某天早上上班,9点的时候,一同事犯晕drop了一个数据库! (3)需要紧急恢复!可利用备份的数据文件以及增量的binlog文件进行数据恢复。 二、数据恢复思路 (1)利用全备的sql文件中记录的CHANGE MASTER语句,binlog文件及其位置点信息,找出binlog文件中增量的那部分。 (2)用mysqlbinlog命令将上述的binlog文件导出为sql文件,并剔除其中的drop语句。 (3)通过全备文件和增量binlog文件的导出sql文件,就可以恢复到完整的数据。 三、实例说明 ---------------------------------------- 首先,要确保mysql开启了binlog日志功能 在/etc/my.cnf文件里的[mysqld]区块添加: log-bin=mysql-bin 然后重启mysql服务 ---------------------------------------- (1)在ops库下创建一张表customers mysql> use ops; mysql> create table customers( -> id int not null auto_increment, -> name char(20) not null, -> age int not null, -> primary key(id) -> )engine=InnoDB; Query OK, 0 rows affected (0.09 … Continue reading mysql数据库误删除后的数据恢复操作说明

Mysql之binlog日志说明及利用binlog日志恢复数据操作记录

https://www.cnblogs.com/kevingrace/p/5907254.html 众所周知,binlog日志对于mysql数据库来说是十分重要的。在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 废话不多说,下面是梳理的binlog日志操作解说: 一、初步了解binlog MySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句select),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。 ---------------------------------------------------------------------------------------------------------------------------------------------- DDL ----Data Definition Language 数据库定义语言 主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。 DML ----Data Manipulation Language 数据操纵语言 主要的命令是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 ---------------------------------------------------------------------------------------------------------------------------------------------- mysqlbinlog常见的选项有以下几个: --start-datetime:从二进制日志中读取指定等于时间戳或者晚于本地计算机的时间 --stop-datetime:从二进制日志中读取指定小于时间戳或者等于本地计算机的时间 取值和上述一样 --start-position:从二进制日志中读取指定position 事件位置作为开始。 --stop-position:从二进制日志中读取指定position 事件位置作为事件截至 ********************************************************************* 一般来说开启binlog日志大概会有1%的性能损耗。 binlog日志有两个最重要的使用场景: 1)MySQL主从复制:MySQL Replication在Master端开启binlog,Master把它的二进制日志传递给slaves来达到 master-slave数据一致的目的。 2)自然就是数据恢复了,通过使用mysqlbinlog工具来使恢复数据。 binlog日志包括两类文件: 1)二进制日志索引文件(文件名后缀为.index)用于记录所有的二进制文件 2)二进制日志文件(文件名后缀为.00000*)记录数据库所有的DDL和DML(除了数据查询语句select)语句事件。 二、开启binlog日志: 1)编辑打开mysql配置文件/etc/mys.cnf [root@vm-002 ~]# vim /etc/my.cnf 在[mysqld] 区块添加 log-bin=mysql-bin 确认是打开状态(mysql-bin 是日志的基本名或前缀名); 2)重启mysqld服务使配置生效 [root@vm-002 ~]# /etc/init.d/mysqld stop [root@vm-002 ~]# /etc/init.d/mysqld … Continue reading Mysql之binlog日志说明及利用binlog日志恢复数据操作记录