CentOS 6.5 使用docker 容器

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

docker 是一个linux 上的LXC 容器项目,是很轻量级的虚拟化技术。


docker虽然基于lxc技术(cgroup、namespace等),但是思路完全和lxc不一样。


lxc看起来更像是一个虚拟机,多用于操作系统级别的虚拟化,背后的哲学是 IAAS;

而docker看起来是一个程序,跑在沙箱里的程序,属于应用程序级别的虚拟化,背后的哲学是 PAAS。


RHEL 6.5 开始提供docker 支持,这里我们使用新出炉的 CentOS 6.5 x64 进行实验。


安装docker

1
yum  install  docker-io --enablerepo=epel


在centos6.5 上,docker 可以模拟运行多个linux环境,比如ubuntu 12.04,debian wheezy,centos 6.4,opensuse等等,列表见这里


1、下载官方制作的CentOS6.4镜像

1
docker pull centos

输出大致如下

1
2
3
Pulling repository centos
539c0211cd76: Downloading 67.96 MB /98 .56 MB (69%)
539c0211cd76: Download complete


下载的镜像位于/var/lib/docker/devicemapper/mnt/539c0211cd76*/rootfs/


2、查看安装好的虚拟机

1
2
3
4
# docker images
输出如下
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              6.4                 539c0211cd76        8 months ago        300.6 MB (virtual 300.6 MB)

3、接下来我们在centos 6.4的环境下执行一个top命令,然后查看输出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# ID=$( docker run -d centos /usr/bin/top -b)
# docker attach $ID
输出如下
top  - 23:30:50 up 47 min,  0  users ,  load average: 0.14, 0.44, 0.53
Tasks:   1 total,   1 running,   0 sleeping,   0 stopped,   0 zombie
Cpu(s):  4.6%us,  1.0%sy,  0.0%ni, 91.6% id ,  2.8%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   7963636k total,  3795180k used,  4168456k  free ,   120628k buffers
Swap:  2097144k total,        0k used,  2097144k  free ,  1870656k cached
   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND    
     1 root      20   0 14896 1180  984 R  0.0  0.0   0:00.03  top        
top  - 23:30:53 up 47 min,  0  users ,  load average: 0.13, 0.43, 0.53
Tasks:   1 total,   1 running,   0 sleeping,   0 stopped,   0 zombie
Cpu(s):  4.0%us,  0.9%sy,  0.0%ni, 93.7% id ,  1.3%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   7963636k total,  3790700k used,  4172936k  free ,   120644k buffers
Swap:  2097144k total,        0k used,  2097144k  free ,  1866336k cached
   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND    
     1 root      20   0 14896 1180  984 R  0.0  0.0   0:00.03  top


4、杀死这个虚拟机

1
# docker stop $ID


5、进入虚拟机的shell,干你想干的任何事情

1
# docker run -i -t centos /bin/bash


6、官方的这个centos镜像非常小,不到100M,如果需要配置一个复杂的环境,请直接yum解决。


docker 也提供了在线搜索镜像模板功能,类似与puppet在线安装模板(步骤1)

1
2
3
# docker search ubuntu
# docker search centos
# docker search debian


通过网页搜索模板 https://index.docker.io/


更多的docker使用方法见官方文档  http://docs.docker.io/en/latest/


总结


docker 是一个年轻的容器项目,跟FreeBSD 的jail 相比,还不怎么成熟,但是容器技术仍然代表着一个先进的虚拟化方向。










本文转自 紫色葡萄 51CTO博客,原文链接:http://blog.51cto.com/purplegrape/1340541,如需转载请自行联系原作者
目录
相关文章
|
10月前
|
Linux Shell 网络安全
通过Docker创建CentOS系统容器的步骤
通过Docker创建CentOS系统容器的步骤
510 0
|
应用服务中间件 Linux Shell
Docker基础 docker创建centos7容器然后安装配置Nginx,并在浏览器访问
docker 在容器里下载配置nginx,并可在浏览器上访问的方法, 并将容器转为镜像,或将容器转为文件,再将文件转为镜像的两种方式,创建容器时绑定端口的方法,
Docker基础 docker创建centos7容器然后安装配置Nginx,并在浏览器访问
|
15天前
|
存储 Linux Shell
centos 部署docker容器 安装 、基本使用方法(一)
centos 部署docker容器 安装 、基本使用方法(一)
29 0
|
3月前
|
存储 Linux 网络安全
Linux(CentOs7) --- 安装Docker容器
Linux(CentOs7) --- 安装Docker容器
174 1
|
4月前
|
Linux Docker Python
centos 启动停止docker,并部署 flask 容器化应用
centos 启动停止docker,并部署 flask 容器化应用
52 0
|
9月前
|
存储 大数据 Linux
Docker部署三个centos7容器
用完完成在容器环境中部署大数据相关组件
|
Prometheus 运维 监控
远见而明察近观若明火|Centos7.6环境基于Prometheus和Grafana结合钉钉机器人打造全时监控(预警)Docker容器服务系统
我们知道,奉行长期主义的网络公司,势必应在软件开发流程管理体系上具备规范意识,即代码提交有CR(CodeReview),功能测试上自动化,而功能发布讲究三板斧:灰度、监控、止血。灰度属于测试范畴,止血则是亡羊补牢,今天我们来聊聊监控,提起监控,就不得不提在DepOps(自动化运维)领域鼎鼎有名的Prometheus(普罗米修斯),有人说这个开源系统的名字怎么有点如雷贯耳啊,没错,它的名字就是取自从宙斯手中为人类夺回圣火的古希腊神明普罗米修斯,而Prometheus的Logo恰恰就是奥林匹克圣火。Prometheus主要的功能就是可以无时不刻的监控所有部署在生产环境中的服务,如果服务出现问题则会
远见而明察近观若明火|Centos7.6环境基于Prometheus和Grafana结合钉钉机器人打造全时监控(预警)Docker容器服务系统
|
运维 Linux 开发工具
在centos7.6上利用docker-compose统一管理容器和服务
众所周知,一个大型的Docker容器组成的微服务应用中,容器的数量是非常巨大的,如果依赖传统的人工配置方式进行维护,对于开发和运维来说简直就是噩梦。docker-compose的出现正是为了解决这个问题。 docker-compose是一个用于定义和运行多容器Docker应用的工具,只需要一个Compose的配置文件和一个简单的命令就可以创建并运行应用所需的所有容器。在配置文件中,所有容器通过services来定义,并使用docker-compose命令启动或停止容器以及所有依赖容器。
在centos7.6上利用docker-compose统一管理容器和服务
|
关系型数据库 MySQL Linux
docker基础 docker创建centos容器,然后在centos容器里下载MySQL并本地连接MySQL
docker基础,使用docker创建一个centos容器,并在该容器下载安装MySQL,并设定端口号,然后在本地连接MySQL
docker基础 docker创建centos容器,然后在centos容器里下载MySQL并本地连接MySQL
|
JSON 弹性计算 NoSQL
CentOS 系统 Docker 创建过的容器如何修改映射端口
CentOS 系统 Docker 创建过的容器如何修改映射端口
409 0