本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux. 「运维之美」是一个有情怀.有态度,专注于 Linux 运维相关技术文章分享的公众号.公众号致力于为广大运维工作者分享各类技术文章和发布最前沿的科技信息.公众号的核心理念是:分享,我们认为只有分享才能使我们的团体更强大.如果你想第一时间获取最新技术文章,欢迎关注我们! 公众号作者 Mike,一个月薪 3000 的杂工.从事 IT 相关工作 15+ 年,热衷于互联网技术领域,认同开源文化,对运维相关技术有自己独特的见解.很愿意将自…
[编者的话] 目前很多的容器云平台通过Docker及Kubernetes等技术提供应用运行平台,从而实现运维自动化,快速部署应用.弹性伸缩和动态调整应用环境资源,提高研发运营效率. 本文简要介绍了与容器云相关的几个重要概念:PaaS.App Engine.Docker.Kubernetes. https://blog.csdn.net/huwh_/article/details/75935700 1. Kubernetes概述 1.1. Kubernetes介绍 Kubernetes是Googl…
我猜很多人一看这个标题已经感觉很懵逼了,什么?下一代容器都出来了,我还没学Docker呢!!! 咳咳~~在这里我给大家做一个保证,下一代容器目前也只是各个公司在测试阶段,Github上面也有很多Issue,因此,大家可以放宽心,下一代容器离我们还很远呢. 切入正题: 我们今天讨论的是<下一代容器架构已出,Docker何去何处?> 其实就目前来说,下一代容器架构可以约等于≒Podman+Skopeo+Buildah 其实这半年来很多自媒体都在鼓吹新的容器架构,吹嘘将要很快的替代Docker.但是…
7月29日 数人云 在上海举办金融沙龙,邀请上交所和近二十家来自银行.保险.证券的IT技术专家一同探讨容器技术在金融业中的最佳实践.数人云CTO肖德时在会上将传统金融行业通过容器可以解决的四大问题做了逐一解读. 以下是演讲实录: 容器技术基本上是2013年出来的,2014年开始在中国传播.在2016年,大家可以感觉到Docker技术的发展加速,在生产环境中也有很多的成功案例.在DockerCon 2016上我们发现,Docker已经从原来的一个工具变成一个真正的生态圈,Docker已经具备整套的…
PODMAN主要由红帽发起和推动,是下一代的容器技术,包括如下三个模块:Podman,Skopeo和Buildah这三个工具都是符合OCI计划下的工具(github/containers).主要是由RedHat推动的,他们配合可以完成Docker所有的功能,而且不需要守护程序或访问有root权限的组,更加安全可靠,是下一代容器容器工具. Podman Podman可以替换Docker中了大多数子命令(RUN,PUSH,PULL等).Podman不需要守护进程,而是使用用户命名空间来模拟容器中的r…
本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 (4)Docker 容器的隔离性 - 使用 cgroups 限制容器使用的资源 (5)Docker 网络 1. 基础知识:Linux namespace 的概念 Linux 内核从版本 2.4.19 开始陆续引入了 namespace 的概念.其目的是将某个特定的全局系统资源(global syst…
Fbric.Ansible.Docker.Chaos Monkey:DevOps工具的年中回顾 [编者按]近日,Cyber Engineering Solutions Group 技术经理 Hasan Yasar 在 SEI 攥文盘点了当下流行的 DevOps 思想和工具,其中包括Fabric.Ansible.Docker.Chaos Monkey等.本文系 OneAPM 联合高效运维联合编译整理: 在2014年年底,SEI 博客发表了一系列有关 DevOps 的博客文章,提供指南,实用的建议和…
从今天开始学习docker container 1.docker run 之前我们在学习制作镜像以及制作私有仓库的时候已经用到docker run -it以及docker run -d来临时运行一个容器和在后台运行一个容器了, 我们可以通过docker ps 和docker ps -a 来查看运行中的容器,和所有容器(包括状态为up和exited) 或者可以使用docker container ls以及docker container ls -a来查看docker container ,效果和d…
一.使用Dockerfile构建centos 1.创建 Dockerfile mkdir centos # 创建一个目录存放之后的Dockerfile,目录名无所谓 cd centos # 进入目录 vi Dockerfile # 创建Dockerfile 将如下内容填入Dockerfile中然后存盘退出 FROM docker.io/centos MAINTAINER rslai "netlrs@163.com" RUN yum update -y \ && yum…
一.docker介绍 1.docker是什么 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不同版本环境的兼容,对运维人员都是考验,环境配置如此麻烦,换一台机器,就要重来一次,费力费时.很多人想到,能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样地复制过来.开发人员利用Docker可以消除协作编码时"在我的机器上可正常工作"的…
Docker的镜像理解以及容器的备份.恢复和迁移操作 这篇文章主要介绍了Docker的镜像理解以及容器的备份.恢复和迁移操作,覆盖很多原理知识以及容器的重要操作步骤,极力推荐!需要的朋友可以参考下 Docker镜像的基本知识1.1 什么是Docker镜像从整体的角度来讲,一个完整的Docker镜像可以支撑一个Docker容器的运行,在 Docker容器运行过程中主要提供文件系统视角.例如一个ubuntu:14.04的镜像,提供了一个基本的ubuntu:14.04的发行版,当然此 镜像是不包含操作…
一.列出主机上已经创建的容器 docker ps -a 二.创建交互式容器 命令: docker run -i -t ubuntu /bin/bash 其中-i -t 表示创建一个提供交互式shell的容器. ubuntu是镜像名,如果本地不存在,回到仓库中下载. /bin/bash 是指定容器创建后立即执行的命令. 注意:每个容器都有一个唯一的ID,作为容器的标识.每个容器也有个唯一的名称,在用docker run命令创建时可以通过 --name 名称 来指定,如果不指定,系统会自动产生一个名…
复制镜像和复制容器都是通过保存为新镜像而进行的. 具体为: 保存镜像 docker save ID > xxx.tar docker load < xxx.tar 保存容器 docker export ID >xxx.tar docker import xxx.tar containr:v1 然后再docker run -it containr:v1 bash…
清单作为一组数据的有序队列,它在组织形式上与数组有着某些异曲同工之处,数组有专门的数组工具Arrays来进行加工操作,照理清单也应该配备对应的清单工具.当然容器这个大家族确实拥有自己的容器工具Collections,不过数组工具Arrays也隐藏着一个清单方法,它便是asList,该方法类似数组的初始赋值,同样支持把括号内部的一系列数据直接转为清单对象.前面介绍泛型类和泛型接口的时候,就利用Arrays.asList给某个清单实例进行了初始化赋值,不过调用asList得到的数组大小是固定的,无法…
docker:systemctl start docker # docker 启动systemctl stop docker # docker 停止systemctl restart docker # docker 重启systemctl status docker # docker 状态查看 docker 命令docker images # 镜像查看docker ps # 已启动的容器查看docker ps -a # 所有容器查看docker stats # 查看容器占用资源情况docker…
docker可以分为三部分:docker镜像   docker仓库  docker容器 docker镜像:一个image可以包含一个镜像,也可以理解为一个系统模板,里面安装了相关应用,也可以是纯净版的系统 docker仓库:docker registries ,也叫docker仓库, 分为共有库和私有库俩种,上传下载images是通过dcoker仓库来实现的,公有库叫docker hub,也可以在局域网部署一个私有的docker仓库 docker容器:容器是从image中创建的,可以执行启动.开…
阅读目录: Docker应用:Hello World Docker应用:Docker-compose(容器编排) Docker应用:Kubernetes(容器集群) 前言: 终于出第三篇了,上个月就已经弄好了,一直没弄上来,步入正题之前有3个建议给想要学习Kubernetes的同学. 1.在国内因为防火墙的原因,你是不可能在Docker上在线开启的Kubernetes功能的.所以如果你会fan qiang上网,那万事大吉. 2.如果你离香港澳门比较近,那建议你周末抽空过去一趟,上午买罐奶粉,在店…
阅读目录: Docker应用:Hello World Docker应用:Docker-compose(容器编排) 前言: 昨天完成了Docker入门示例(Docker应用:Hello World),示例只是粗略展示了单机应用在Docker中部署的大概流程: 但是即使先不考虑大型项目关联的多个应用服务,单单只是单机应用部署来说,过程也是略为复杂. 因为现在的软件公司开发.测试.部署基本上分开,甚至交由不同的人完成各个阶段的工作,如果软件部署要敲写大量的命令, 那还是很容易出错:甚至有些公司只是运维…
  环境:操作系统(Ubuntu  16.04 64位); php7.1;  nginx/1.14.0   基础环境准备: 整体思路:docker pull一个ubuntu镜像,然后在容器中安装nginx,PHP,启动时将宿主机中的数据目录,配置文件映射到容器中,映射宿主机端口到容器中端口.   #拉取ubuntu镜像 Docker pull ubuntu                 #启动ubuntu容器 docker  run -it —name myserver ubuntu  /bi…
构建镜像总结 docker构建镜像有两种方法: 1.使用docker commit + 容器 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] -a, --author="" Author (e.g., "John Hannibal Smith <hannibal@a-team.com>") -m, --message="" Commit message -p, --pause=…
目前容器云非常的成熟,也有很多的使用案例,可以说不是什么高大上的东西了,可以说整个云计算也不是什么奢侈品,而是基础设施.但是如何使用,就成了必须的技术. 今天记录下,基于docker的容器登录技术. 通常情况下,我们想看看运行中的docker容器的状态,尤其是想看看容器内部的应用配置,比如tomcat的配置信息,该怎么操作呢?当然了,你会说,直接docker inspect containerId,找到workdir,或者配置文件路径,然后docker cp从容器中拷贝到宿主机上.这些都是处理静…
那些在后台运行的新建的容器,通常不是我们想要的,我们要进行一些修改,比如安装服务,创建用户,查看日志,调整网络等等,这些操做都要进入容器去进行修改,今天我们来讨论如何进入容器. 1.docker attach 通过docker attach可以进入一个正在运行的容器 首先通过docker run -d创建一个容器 通过容器的长ID进入容器,可以看到echo每秒打印的内容 利用docker run -it创建一个容器 通过docker attach进入容器,也可以看到每秒打印的内容 已经进入容器了…
如何批量删除Docker中已经停止的容器   方法一: #显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID, sudo docker ps -a|grep Exited|awk '{print $1}' #查询所有的容器,过滤出Exited状态的容器,列出容器ID,删除这些容器 sudo docker rm `docker ps -a|grep Exited|awk '{print $1}'` 方法二: #删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了) sud…
0x00 概述 在互联网时代,网络已经成为绝大多数应用进行数据交换的主要通道,Docker 作为集群部署的利器,在网络支持上也下了许多功夫.功能丰富和强大,并不代表使用复杂,在 Docker 的封装下,我们依然可以通过命令和参数轻松的为容器制定不同的网络方案.在这一节中,我们就来了解 Docker 的网络部分. 0x01 容器网络 在之前介绍 Docker 核心组成的时候,我们已经简单谈到了容器网络的相关知识.容器网络实质上也是由 Docker 为应用程序所创造的虚拟环境的一部分,它能让应用从宿…
一.docker运行容器 1.从网易蜂巢镜像仓库下载nginx镜像 : 2.拉取镜像到本地,并查看本地的镜像: $ docker pull hub.c..com/library/node:latest$ docker images 3.运行容器 命令格式: docker run [option] IMAGE [COMMOND] [ARG...] 例如: docker run -d --name nginx1.0 hub.c..com/library/nginx # -d: 后台启动容器: --n…
1.端口映射实现访问容器 1.从外部访问容器应用 在启动容器的时候,如果不指定对应的参数,在容器外部是无法通过网络来访问容器内部的网络应用和服务的. 当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-p或-P参数来指定端口映射.当使用-P(大写P)标记时,Docker会随机映射一个端口到内部容器开放的网络端口(端口范围在Linux系统使用的端口之外,一般都过万): [root@docker ~]# docker run -d --name nginx_1 -P nginx:latest…
目录 Docker 入门 第二部分: 容器 先决条件 介绍 你的新开发环境 使用 Dockerfile 定义一个容器 Dockerfile 应用本身 requirements.txt app.py 构建应用 运行应用 共享你的镜像 使用你的docker ID进行登录 为镜像加标签 发布镜像 从远程仓库拉取并运行镜像 第二部分总结 回顾和备忘[可选] Docker 入门 第二部分: 容器 先决条件 安装 Docker 1.13 或更高版本 阅读第一部分 给你的环境做一个快速运行测试,以确保你已经准…
默认情况下,容器没有资源限制,可以使用主机内核调度程序允许的给定资源.Docker 提供了一些方法来控制容器可以使用多少内存.CPU 或块 IO,并设置 docker run 命令的运行时配置标志.本节详细介绍了何时应该设置限制以及设置它们的可能影响. 许多这些功能需要您的内核支持 Linux 功能.通过 docker info 命令检查支持是否可用.如果在内核中禁用了某个功能,则可能会在输出结尾看到类似以下内容的警告: WARNING: No swap limit support 请查阅操作系…
docker 错误排查:无法进入容器. #docker exec -it 3c1d bash rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:247: starting container process caused "process_linux.go:110: decoding init error from pipe caused \"read parent: connec…
1  docker run -it ubuntu:15.10 /bin/bash 如果有ubuntu:15.10这个镜像,就run,否则会从dockerhub下载,并run. -it 一般连用,表示按照交互的方式运行. -t:在新容器内指定一个伪终端或终端. -i:允许你对容器内的标准输入 (STDIN) 进行交互. 2 docker ps     查看运行中的容器. 3  根据container id停止运行的容器      docker stop 45151927ed42 (仅仅是停止,并不…