在 centos6上安装docker io/docker-engine

一、说明 先说一下,现在要安装Docker的话,一定要在CentOS7上安装Docker-ce。docker-io是比较老的版本,很多功能是没有的。 CentOS6默认也只支持到Docker1.7(但其实CentOS6是可以支持到Docker1.9的),后面的版本都需要安装在CentOS7上。 CentOS6也不能安装Docker0.7以下的版本了,比如Docker0.5/0.6,基本上是没办法使用的。因为最早Docker是在Ubuntu上的。 CentOS6安装Docker必须要升级内核到3.10及以上内核版本才行,内核还必须开启aufs模块。 我这里也就是单纯做个研究,就讲一下怎么在CentOS6上升级内核,然后再安装Docker1.7,再升级到1.9。 二、操作系统环境 # cat /etc/issue CentOS release 6.5 (Final) # uname -r 2.6.32-431.el6.x86_64 三、基础环境的准备 1、安装开发平台工具 #yum groupinstall "Development tools" 2、安装内核升级需要的依赖组件 #yum install device-mapper ncurses-devel qt-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel

Docker版本的发展历史

开始学习Docker的时候,被它的版本搞的有点晕,然后就去研究了一下,查阅了大量的资料,终于搞清楚了这些版本的关系。 Docker 最初是由dotCloud公司创始人Solomon Hykes发起的一个公司内部项目。 在2013年底,由于Docker的火爆,dotCloud公司改名为Docker。 Docker最早是在Ubuntu 12.04上开发实现的; Red Hat则从 RHEL6.5 开始对Docker进行支持。 多种docker版本的混乱情况 先讲一讲为什么会有docker.io,docker-io这种的命名方式。 在Docker技术出现之前,Linux是已经有一个docker的工具的,但此docker非彼Docker。 这个docker是一个窗口停靠栏程序,就像苹果的Mac系统中的dock那个程序一样的一个工具。 这是它的官网http://icculus.org/openbox/2/docker/, 里面有介绍。 为了区分开来,我们以Docker和docker来区分。 Docker:指容器技术。 docker:指窗口停靠栏程序。 Docker技术出来后,因为原先Linux系统上已经有了docker这个工具,所以Docker软件名也不能跟人家重名啊,要不然没办法安装。 那个时候Docker的官网是docker.io,所以就在软件名称上加了io的后缀,在Ubuntu中就是docker.io,在CentOS中就是docker-io。 但是虽然软件名跟docker程序不一样了,但软件安装后的命令还是一样的,都是docker的这个命令,所以要安装Docker软件,要先看看有没有安装了那个停靠栏程序,有的话要先卸载才行。这个时期要安装Docker,就要用docker加io后缀的方式来安装。 Ubuntu中安装: apt-get install docker.io CentOS中安装: yum install docker-io

Jenkins常用插件

Pipeline Pipeline Maven Integration pipeline中使用withMaven语法必须安装的插件 Credentials Binding 凭据插件 HTTP Request Plugin 代替curl,curl也可以调用凭据的 Image Tag Parameter 通过harbor获取镜像列表作为参数 simple theme jenkins的皮肤风格插件,可以美化jenkins页面 timestamps 时间插件,可以让日志显示时间 Email Extension 邮件通知 Publish Over SSH 使用ssh的方式与remote服务器进行交互 Subversion Plug-in 版本管理 SVN 的插件

ansible升级到2.8之后的问题

以前一直使用ansible1.9的版本,最近升级到2.8版本了,发现有挺多问题的。 1、没有了-S -R参数 以前要使用su切换的话,使用-S -R就可以切换 #ansible test -S -R root -m shell -a 'ls' 升级到2.8之后,可以使用如下命令: 一是指定用户 #ansible test –become-user=root -m shell -a ’ls'\ 一是指定方法 #ansible test –become-method=su -m shell -a ’ls'

代码重构优化-不要用过多的if嵌套

不要用过多的if嵌套 重构前: def project_version(request,group_name,branch_name,project_name): if branch_name and group_name and project_name: project_name_with_namespace = '%s/%s' %(group_name,project_name) project = gl.projects.get(project_name_with_namespace) if project: branches = [] branch = project.branches.list() if branch: branches = [] branch_name_find = '%s-' %(branch_name) for branch_name_in in branch: if (branch_name_in.

go module

go module是Go1.11版本之后官方推出的版本管理工具,并且从Go1.13版本开始,go module将是Go语言默认的依赖管理工具。 go module有三个可选值:off、on、auto。 GO111MODULE=off 禁用模块支持,编译时会从GOPATH和vendor文件夹中查找包。 GO111MODULE=on 启用模块支持,编译时会忽略GOPATH和vendor文件夹,只根据 go.mod下载依赖。 GO111MODULE=auto,项目根目录有go.mod文件时,开启模块支持。 使用 go module 管理依赖后会在项目根目录下生成两个文件go.mod和go.sum。 查看自己的环境中,GO111MODULE的值。 # go env|grep GO111MODULE GO111MODULE="" 从Go1.13版本开始,为空就是on的状态。 如果想使用GO111MODULE=“off"的方法时,要先设置一下。 # go env -w GO111MODULE="off"

Go中引号的不同作用:单引号、双引号、反引号

1、双引号“ ” 最常用的符号,常用来定义字符串。 双引号中定义的字符串支持转义字符,比如\n将输出换行。 package main import ( "fmt" ) func main() { a := "i" b := "在\\n" c := "这里" fmt.Println(a, b, c) } 输出:i 在\n 这里 2、单引号‘ ’ 单引号用来定义一个byte或者rune。

GO语言的GOROOT和GOPATH

GOROOT #Golang安装目录 GOPATH #Golang项目目录 GOPATH: src #存放源码,开发项目存放在这个目录下 bin #编译后生成的可执行文件存放目录 pkg #第三方包目录 Go1.11版本之后官方推出go module版本管理工具,并且从Go1.13版本开始,go module将是Go语言默认的依赖管理工具。 所以后面开发项目文件就可以不用在GOPATH中的src中了。

Go的程序:运行和编译

package main import ( "fmt" ) func main() { fmt.Println(""Hello,world!) } package 包名:必须项。 如果是要编译执行的程序,那么一定要有一个main包和main函数。 import 库名:可选项。导入多个项包库就用()包起来。 func main():主函数。 如果是要编译执行的程序,那么一定要有一个main函数。 fmt.Println(“Hello,world!"):主程序内容,输出打印“Hello,world!”。 可以不编译运行程序: #go run 程序文件名 也可以编译成二进制文件后再运行: #go build 程序文件名 不同系统平台编译方式,可以跨平台使用。 编译到 linux 64bit $ GOOS=linux GOARCH=amd64 go build 或者可以使用 -o 选项指定生成二进制文件名字 $ GOOS=linux GOARCH=amd64 go build -o 生成二进制文件名

Go设置代理,加速库的下载

由于很多go库很多是国外网站,所以要么下载库会很慢,或者干脆访问不了。 Golang V1.13之后支持通过设置变量GOPROXY来修改代理地址,默认的代理服务器可以改成国内地址https://goproxy.cn go env -w GOPROXY=“https://goproxy.cn,direct” 阿里云 https://mirrors.aliyun.com/goproxy/ nexus社区提供的 https://gonexus.dev ngoproxy.io https://goproxy.io\ 基于athens的公共服务 https://athens.azurefd.net\

sendEmail的安装

注意,这款软件不是sendmail,而是另外一个简单的命令行的邮件发送工具,生产上常用它来发送告警邮件。 这款软件的安装方式就是Linux下最简单的一种软件安装方法:直接下载赋权即可使用。 下载: 打开网站http://caspian.dotconf.net/menu/Software/SendEmail/ 可以右键,复制链接地址,使用wget下载 #wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz 解压: #tar -zxvf sendEmail-v1.56.tar.gz #cd sendEmail-v1.56 把里面的主要程序复制到环境变量目录下,即可使用 #cp sendEmail /usr/bin/ 这个工具都不需要赋权,因为本身已经设置好了执行权限。 然后就可以执行此命令了。 # sendEmail -help 命令说明: -f xxx@itbing.cn 发件人邮箱 -s mailserver 如果能直接连接的机器,就可以直接填QQ邮箱之类的SMTP服务器地址 -u "我是邮件主题" 邮件的标题 -o message-content-type=html 邮件内容的格式,html表示它是html格式 -o message-charset=utf8 邮件内容编码 -xu xxx@itbing.

Linux运维常用的一些网站

一、技术问答网站 https://stackoverflow.com https://www.linuxquestions.org 二、软件下载站: 2.1 Linux软件包下载 http://pkgs.org 各种开源的Linux(CentOS/Debian/Ubuntu)系统软件基本都有下载 2.2 rpm包软件的下载站 http://rpmfind.net/ http://rpm.pbone.net 2.3 主要是SUSE下的软件 https://software.opensuse.org/package/dstat 注意下拉查看显示其它版本 2.4 托管站,有各种开源软件 http://sourceforge.net https://github.com 三、软件源站 3.1 epel源 https://dl.fedoraproject.org/pub/epel/ 3.2 OracleLinux系统源 http://public-yum.oracle.com/index.html 四、各系统下载站: 4.1 OracleLinux、Solaris、Oracle等下载: Oracle 软件交付云:http://edelivery.

生产上Linux系统投入使用前需要做的基本配置

平时在管理系统时,总有一些不人性化的地方,也有很多不方便管理的地方,我们可以通过修改一些系统配置来使我们管理系统更方便。 一、系统优化 1.1 命令实时记录 编辑/etc/bashrc,添加以下两句: shopt -s histappend PROMPT_COMMAND='history -a' 1.2 给历史命令加上执行时间 编辑/etc/profile文件,加入如下一行: export HISTTIMEFORMAT='%F %T ' 1.3 超时退出 编辑/etc/profile文件,加入如下一行: export TMOUT=3600 1.4 关闭selinux 编辑/etc/sysconfig/selinux SELINUX=disabled 1.5 sysstat vim /etc/sysconfig/sysstat HISTORY=31

Linux运维生产上必须要掌握的一些配置操作

一、必须要熟练掌握的操作 1.1 忘记root密码(进入单用户模式) 1.2 进急救模式 1.3 配置IP地址 1.4 配置主机名 1.5 扫描磁盘、磁盘分区、挂载分区 1.6 LVM卷组管理 1.7 分区的扩展和收缩 1.8 VNC设置 1.9 定时设置 二、详细配置步骤 2.1 忘记root密码 忘记root密码这种事情不会经常发生,但是是生产中必须要会的一个技能。 RHEL7之前的系统都比较简单,RHEL7之后有些变化。 我这里都以RHEL6系统来做配置,有些比较不一样的配置也会加上RHEL7。 进入单用户模式 RHEL6: step1:开机加载后,按任意键,进入启动菜单栏 step2:进入后看菜单栏下面的文字说明。按字母e可以编辑启动前的菜单命令 step3:按e后,进入菜单编辑状态,按上下键,把光标移到第二行,再按e step4:在命令最后加上1或者字母single,都表示单用户,回车 step5:按字母b进行启动(注意,这里不是回车) step6:确定是否是单用户模式\r\n启动完全后,会直接进入系统,不会有输入密码等提示。 可以输入runlevel查看系统级别: #runlevel N S 或者 #runlevel n1 S 都说明现在的系统是单用户模式。 然后就可以使用passwd命令修改系统密码。

Linux系统上软件的安装

Linux的软件安装,一般都需要借助于命令或者需要提前设置好库环境才行,没有Windows安装软件那么方便快捷,这也是Linux在桌面领域一直输于Windows的一个原因之一。 一、Linux软件发布形式 Linux软件主要有三种发布形式: 1.1 源码发布 直接源码压缩打包方式,后缀一般为tar.gz,tar.bz2,zip这类文件,这种源码包Linux/Unix各大平台都能支持安装。 1.2 发行版本自定义打包方式 发行版本自己定义的软件打包方式,如RedHat的RPM包,debian的deb包。 1.3 编译好的软件 厂商自己编译打包好的软件,直接赋予执行权限就可以执行的软件包。 二、Linux软件安装方式 根据软件发布方式的不同,安装方法也不同,主要有四种方法: 2.1 源码编译安装 源码方式的软件包安装,需要gcc工具支持,Linux/Unix等系统平台都支持安装,但需要耗费比较长的时间进行编译。 源码安装一般都是四步: 2.1.1 解压压缩包 tar -zxvf *.tar.gz或者tar -zjvf *.tar.bz2或者unzip -o *.zip 2.1.2 配置参数 .

一次MySQL主备同步出错恢复

错误提示: Last_IO_Errno: 1236 Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from position > file size; the first event 'mysql-bin.

[MySQL错误]Can't find file: ./mysql/plugin.frm

错误提示: /usr/libexec/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13) 180530 15:19:43 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 版本环境: mysql> select version(); +------------+ | version() | +------------+ | 5.

恢复已销毁的 ZFS 存储池

同事发个消息给我,说大事不好了,他用zpool destroy命令把盘销毁了,但是现在突然发现里面还有东西,又想恢复。 我说别慌,冷静,我有一招,马上能恢复。 祭出神命令 #zpool import -D 可以查看哪些盘被销毁了,盘的状态怎么样,能不能恢复 pool: backup id: 5154272182900538157 state: ONLINE (DESTROYED) action: The pool can be imported using its name or numeric identifier. config: backup ONLINE c1t0d0 ONLINE c1t1d0 ONLINE 可以看到,state状态虽然是DESTROYED,但盘的状态都是online的

Linux下杀毒软件clamav的安装和使用

最近发现有台服务器中毒了,手动去查杀总是会有遗漏,最后安装了Linux下的杀毒软件clamav,使用起来还是不错的。 环境: Linux 6.8 版本: clamav-0.99.2.tar.gz 依赖关系: yum install pcre* zlib zlib-devel libssl-devel libssl openssl version 0.9.8 or higher 一.安装clamav 有两种方法安装: 1.yum安装方法 用epel源进行安装,但是需要系统能访问外网才行。 安装后会自动生成服务文件,启动服务后,会实时监控扫描连接,虽然安全性高了,不过可能会对服务器性能有影响。 可使用clamdsacn命令手动扫描系统,扫描速度快。 开始安装: 根据自己的系统版本下载相应的epel安装文件 #wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm #wget https://dl.