场景描述: 镜像来源,dockerhub odoo官方镜像:https://hub.docker.com/_/odoo odoo镜像运行一段时间后,出现下述异常,可能是触发某个未知bug:该现象在生产部署的时候出现过一次,为防止再次出现,记录如下分析及处理过程. 执行命令:docker exec -u root -it odoo /bin/bash 日志出现如下错误,无法进入容器: OCI runtime exec failed: exec failed: container_linux.go:…
上篇针对操作系统.主机配置.容器镜像.容器运行时四大方面分享一些Docker的运维经验,本篇将着重在Docker Daemon参数和权限两个方面进一步分享.(阅读上篇请点击右侧:新IT运维时代 | Docker运维之最佳实践-上篇) Docker Daemon为Docker的守护进程,大致可以分为Docker Server.Engine和Job三部分.Docker Daemon可以认为是通过Docker Server模块接受Docker Client的请求,并在Engine中处理请求,然后根据请…
一.基本概念 如果我们想要让软件运行起来,首先要保证操作系统的设置,其次还需要依赖各种组件和库的正确安装.那么虚拟机就是一种带环境安装的一种解决方案,它可以实现在一种操作系统里面运行另外一种操作系统,但是虚拟机的缺点也是十分明显的,资源占用多.冗余步骤多.启动速度慢.由于虚拟机存在的这些令人诟病的缺点.Linux发展出了另一种虚拟化技术,Linux Containers,即Linux容器,缩写为LXC. Linux容器并没有虚拟一个完整的操作系统,而是对进程进行隔离.或者说,在正常进程的外面套了…
由于工作需要,这里我先创建一个vue的工程. 1.首先安装好gitlab相关插件:GitLab.GitLab Hook.NodeJS 插件安装参考:https://www.cnblogs.com/jxd283465/p/11542680.html 2.jenkins服务器安装git 和 nodejs git安装: yum -y install git nodejs安装:这里我安装的在home路径下,可自行更改. wget https://nodejs.org/dist/v9.8.0/node-v…
一.制作DockerFile docker的镜像类似于用一层一层的文件组成.inspect命令可以查看镜像或容器的的信息,其中Layers就是镜像的层文件,只读不能修改,基于镜像创建的容器会共享这些层.下面我们先来学习一下dockerFile中的一些命令: form,构建的新镜像是基于哪个镜像 form centos:6 maintainer,镜像维护者姓名或邮箱地址. maintainer zaking. run,构建镜像时运行的shell命令. RUN yum install httpd c…
容器技术的发展可以分为两个阶段,第一个阶段聚焦在IaaS层,仅仅把容器当做更轻量级虚拟机来使用,解决了应用运行时进程级资源隔离的问题:随着Docker的出现,容器虚拟化才有了统一的平台,由此容器技术发展到了第二个阶段,开始聚焦在PaaS层,以应用为中心,统一应用分发标准,实现DevOps. 本篇将针对操作系统.主机配置.容器镜像.容器运行时四大方面分享一些Docker的运维经验. 操作系统 1.支持的操作系统类型 目前Docker官方支持的操作系统包含桌面版.服务器版.云提供商以及容器操作系统,…
一.Docker的概念 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口. 二.Docker的安装环境 1.检查内核版本 # uname -r      查看当前linux得版本信息 Docker要求CentOS7最低内核版本为3.1版本 2. 关闭防火墙和selinux # systemctl stop firewalld # setenf…
Linux系统目录结构官方参考:http://www.pathname.com/fhs/ 1:Linux树状目录结构图 下面目录中标红的是必须要掌握的! 2:根目录  目录 描述 / 第一层次结构的根.整个文件系统层次结构的根目录. /bin/ 需要在单用户模式可用的必要命令(可执行文件):面向所有用户,例如:cat.ls.cp,和/usr/bin类似. /boot/ 引导程序文件,例如:kernel.initrd:时常是一个单独的分区 /dev/ 设备目录.必要设备, 例如:, /dev/nu…
目标服务器安装docker参考官方文档 https://docs.docker.com/install/linux/docker-ce/centos/ (可选)在目标服务器上安装docker私服 https://docs.docker.com/registry/ 目标服务器启动jenkinsdocker镜像容器 https://hub.docker.com/r/jenkinsci/blueocean/ 创建dockerfile进行后端编译环境的镜像搭建 参考官方教程:https://jenkin…
一.docker镜像 镜像(docker image) --- Docker 运行容器之前需要本地存在镜像,若本能地不存在,那么 Docker 会找默认镜像仓库( Docker Hub 公共注册服务器中的仓科)下载,用户也可以通过配置使用自己的镜像库 1.下载镜像 docker pull NAME:TAG 下载某个被打上了某个标签的叫 ×× 名字 的镜像 [root@ren7 ~]# docker pull centos 若在下载时你未指定标签,默认追加 latest标签,表示库中最新镜像 镜像…
图片出处:https://bobcares.com/wp-content/uploads/docker-change-directory.jpg 一.Why? 通常,当你开始使用docker时,我们并不太关心Docker 用于存储镜像和容器的默认目录.当使用Docker进行更多实验时,Docker开始占用大量的空间时,你不得不按下紧急按钮.所以现在是时候把故障排除放在如何改变docker的默认存储位置了.费了很大力浏览了许多网站和论坛后,我无法确定在Centos7主机上更改Docker镜像和容器…
Docker技术里最为基础的两大概念:镜像和容器.镜像的 获取方式:从registry拉取,从Dockerfile构建:容器的基本操作 1 Docker架构和底层技术简介 Docker Platform Docker提供了一个开发,打包,运行app的平台 把app和底层infrastructure隔离开来 Docker Engine 后台进程(dockerd) REST API Server CLI接口(docker) Docker Architecture 底层技术支持 Namespaces:…
图片出处:https://bobcares.com/wp-content/uploads/docker-change-directory.jpg 一.Why? 通常,当你开始使用docker时,我们并不太关心Docker 用于存储镜像和容器的默认目录.当使用Docker进行更多实验时,Docker开始占用大量的空间时,你不得不按下紧急按钮.所以现在是时候把故障排除放在如何改变docker的默认存储位置了.费了很大力浏览了许多网站和论坛后,我无法确定在Centos7主机上更改Docker镜像和容器…
例如,使用docker 拉取下来一个要用的镜像es docker pull elasticsearch:5.6.9 此时es的镜像存在与服务器上 docker images 对于你运行镜像为一个容器的命令,你会使用 docker run -d --name es1 -p 9200:9200 -p 9300:9300 --restart=always elasticsearch:5.6.9 这是最简单的一个运行命令,只是标明了 1>你要运行的镜像是  elasticsearch:5.6.9   […
一.Why Docker默认的镜像和容器存储位置在/var/lib/docker中,如果仅仅是做测试,我们可能没有必要修改,但是当大量使用的时候,我们可能就要默认存储的位置了. 二.How 2.1 修改docker.service文件 cd /etc/systemd/system/multi-user.target.wants vim docker.service ExecStart=/usr/bin/dockerd --graph=/data/docker --storage-driver=o…
镜像 1.获取镜像 docker pull 服务器:端口/仓库名称:镜像 ➜ ~ docker pull python Using default tag: latest 2.查看镜像信息 列出本机所有镜像: dokcer images 更改镜像信息: $ docker tag dl.dockerpool.com:5000/ubuntu:latest ubuntu:latest 显示镜像详细信息: $docker inspect 镜像ID 3.搜索镜像 $docker search XXX (输…
docker info :查看docker的存储等相关信息. 将路径修改至挂载磁盘中 前提:磁盘已挂载成功 方法一: 1.停止docker 服务 service docker stop 2.备份数据到新的存放路径 cp -r /var/lib/docker/* /mnt/docker 3.备份 /var/lib/docker 路径 mv /var/lib/docker /var/lib/dockerbak} 4.创建软连接 ln -s /mnt/docker /var/lib/docker 5.…
一.k8s基础概念与安装 k8s,即kubernetes是用于自动部署,扩展和管理容器化应用程序的开源系统.详细的描述就不多说了,官网有更详细的内容.简单来说,k8s,是一个可以操作多台机器调度部署镜像的平台.在k8s中,可以使用集群来组织服务器.集群中会存在一个master节点,该节点是kubernetes的控制节点,负责调度服务器中被称为Node的其他资源. 下面,我们就正式开始k8s的学习. 首先,我们需要两台服务器,一个是master,一个是node.master服务器的配置要稍微高些,…
一.灰度发布 灰度发布是一种发布方式,也叫金丝雀发布,起源是矿工在下井之前会先放一只金丝雀到井里,如果金丝雀不叫了,就代表瓦斯浓度高.原因是金丝雀对瓦斯气体很敏感.灰度发布的做法是:会在现存旧应用的基础上,启动一个新版应用,但是新版应用并不会直接让用户访问.而是先让测试同学去进行测试.如果没有问题,则可以将真正的用户流量慢慢导入到新版,在这中间,持续对新版本运行状态做观察,直到慢慢切换过去,这就是所谓的A/B测试.当然,你也可以招募一些灰度用户,给他们设置独有的灰度标示(Cookie,Heade…
redis-3.2 镜像制作及验证 镜像制作 1.安装redis yum install redis yum install epl-release yum install python-pip git gcc pip2 install redis pip2 install hiredis vim /etc/redis.conf protected-mode no systemctl enable redis 2.源码安装trove-guestagent useradd -m trove Def…
一.软件包管理 RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的"添加/删除程序".软件包有几种类型,我们一起来看下: 源码包(需要经过编译,把人所编写的源代码编译成机器语言才能运行) 优点 开源免费 可以自由配置功能 编译安装更适合自己系统,更稳定 卸载方便 缺点 安装过程比较复杂 编译过程比较长 安装过程一旦报错,非常难以排查 二进制包(把源代码包经过编译生成0/1二进制,PRM包.系统默认的安装包) 优点 包管理系统比较简…
一.Nginx基本概念 简单来说,Nginx就是一个代理服务器,什么是代理服务器呢?也就是当我们访问服务器的时候,请求不会直接请求到服务器,中间会有个代理,代理会预先于服务器处理这些请求,最后由代理决定是否要把请求提交至服务器. 那么,Nginx解决了什么问题?直接访问服务器不行么?为啥要费事的走一遍代理呢? Nginx的优势主要有: 高并发.高性能 可扩展性好 高可靠性 热部署 开源许可 这样,大家就可以理解,为什么要使用Nginx了吧,主要就是为了解决传统服务器的一些局限性.Nginx的最常…
首先,我们先来了解下什么叫做持续构建.持续构建简称CI,负责拉取代码库中的代码后,执行用户预定义的脚本,通过一系列编译操作构建出一个制品,并将制品推送到制品库里.常用的持续构建工具有 Gitlab CI,Github CI,Jenkins等.这个环节不参与部署,只负责构建代码,然后保存构建物,构建物被称为制品,保存制品的地方被称为制品库. 另外,我们来了解下什么是持续部署和持续交付,它们可以统称为CD,即Continuous Deployment和Continuous Delivery.持续部署…
场景描述: 应用程序运行在 Docker环境中,经常使用的查看后台日志的命令是:docker attach 容器名该命令优点:实时输出:不足之处:日志大量输出的时候,屏幕一闪而过,不便于调试,并且有一个比较严重的问题,就是该命令在某些容器环境下,由于配置不同,ctrl+c命令退出的时候,会直接导致该容器停止. 其实,docker自身是集成封装了一些关于查看日志的命令的,组合使用,可帮助日常快速定位问题: * 显示所有 log * 显示实时 log * 使用 tail 查看 log 尾部 * 使用…
一,操作命令 01,启动gpstart 参数说明 COMMAND NAME: gpstart Starts a Greenplum Database system. ***************************************************** SYNOPSIS ***************************************************** gpstart [-d <master_data_directory>] [-B <para…
场景描述: 1. 服务器运行一段时间后,发现系统盘磁盘空间在不断增加,一开始的时候,不会影响系统,随着时间的推移,磁盘空间在不断增加,直到有一天你会发现系统盘剩余空间即将使用完,值得庆幸的是,如果您使用的云服务器,那么服务器支持资源动态扩容,但是如果是物理服务器,那么就要及时处理该问题了:不过话说回来,即便是云服务器支持在线磁盘空间扩容,这样的异常问题,也应及时处理,总不能,一到磁盘空间满的时候,就去扩容. 处理思路:     先以正常的问题定位思路来:(后续知道原理,可直接定位,命令如下: )…
一.部署LNMP环境 目标: 安装部署Nginx.MariaDB.PHP环境 1> 安装部署Nginx.MariaDB.PHP.PHP-FPM: 2> 启动Nginx.MariaDB.FPM服务: 3> 并测试LNMP是否工作正常. 方案: 在RHEL7系统中,源码安装Nginx,使用RPM包安装MariaDB.PHP.PHP-FPM软件 操作过程中需要安装的软件列表如下: 1> nginx                              # nginx提供调用服务,充当…
文档目录: 一.cat:合并文件或查看文件内容 二.tac:反向显示文件内容 三.more:分页显示文件内容 四.less:分页显示文件内容 五.head:显示文件头部内容 六.tail:显示文件尾部内容 七.tailf:跟踪日志文件 八.cut:从文本中提取一段文字并输出 九.split:分割文件 十.paste:合并文件 十一.sort:文本排序 十二.join:按两个文件的相同字段合并 十三.uniq:去除重复行 十四.wc:统计文件的行数.单词数或字节数 十五.iconv:抓换文件的编码…
在开始之前,你需要做一些准备工作,去阿里买一台服务器,服务器的具体细节其实并不是十分重要,我也不会在这里一步一步的教大家如何去买一个服务器.百度一下足够了,但是还是要贴一下这篇文章中,我所使用的服务器系统及其版本: 版本之间应该不会有太大的差异,但是最好不要选太新的版本,因为还不够稳定.好了,下面我们开始进入正题. 一.目录 作为一台电脑,我们首先要知道的就是其目录的含义及用处,在后面的学习中十分重要,这些都是最基础的概念.我们可以先来看一下,linux中都有哪些目录: 我们看到一共有这些目录,…
其实说真的,这些基础挺枯燥的,内容呢绝大多数都是些静态的. 上一篇文章我们学习了基本的指令和vim编辑器的操作方法.这篇文章我们主要来学习下Linux中用户的概念和权限相关的知识. 一.用户与用户组 其实在Windows中也有用户的概念,比如管理员和访客,只是在Windows这种操作界面系统中,用户的概念给人的感觉十分弱化,没有那么显眼.但是在Linux中却是十分重要的.试想一下,可能会有很多人操作同一台服务器.那么就需要区分使用者,以分配不同的权限.否则,所有用户都可以通过rm -rf命令删除…