docker:篇1

1. docker介绍

docker是基于go语言实现的,遵循apache2.0协议,全部源码在git上进行维护的云开源项目。docker引擎的基础是Linux容器
(LXC)技术。可以把docker技术理解成是虚拟化技术的一种,但是docker在运行应用上和传统的虚拟机方式相比具有显著的不同和优势:

  • docker容器更快,启动和停止可以在秒级实现;
  • docker容器对系统资源需求很少,一台主机上可以运行上千个容器;
  • docker通过类似git的操作来方便用户获取、分发和更新应用镜像;
  • docker通过Dockerfile配置文件来支持灵活的自动化创建和部署机制;
  • docker容器除了运行其中的应用之外,基本不消耗额外的系统资源;

2. docker和传统虚拟化的区别

传统虚拟化方式是在硬件层面实现虚拟化,需要额外的虚拟机管理应用和虚拟机操作系统层;

docker容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,更加轻量级。

3. docker安装

安装环境:

Description:	CentOS release 6.6 (Final)
Release:	6.6

安装:

# yum install http://mirrors.yun-idc.com/epel/6/x86_64/epel-release-6-8.noarch.rpm
# yum install docker-io -y
# yum upgrade device-mapper-libs

启动服务,第一次启动时,可以使用-d看下启动信息

# docker -d
INFO[0000] +job serveapi(unix:///var/run/docker.sock)   
INFO[0000] WARNING: You are running linux kernel version 2.6.32-504.16.2.el6.x86_64, which might be unstable running docker. Please upgrade your kernel to 3.8.0. 
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock) 
INFO[0000] +job init_networkdriver()                    
INFO[0000] -job init_networkdriver() = OK (0)           
INFO[0000] Loading containers: start.                   
........................
查看docker信息
# docker  info
查看版本
# docker  version
查看镜像信息
# docker  images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos              6                   b9aeeaeb5e17        7 weeks ago         202.6 MB
centos              centos6             b9aeeaeb5e17        7 weeks ago         202.6 MB
centos              7                   fd44297e2ddb        7 weeks ago         215.7 MB
centos              centos7             fd44297e2ddb        7 weeks ago         215.7 MB
centos              latest              fd44297e2ddb        7 weeks ago         215.7 MB
REPOSITORY:来自哪个仓库
TAG:镜像标签信息
TMAG ID:镜像唯一ID号
CREATED:创建时间
SIZE:镜像大小
获取最新镜像
# docker pull centos
查找满足关键字的所有镜像
# docker search apache
AME                  DESCRIPTION                                     STARS   OFFICIAL   AUTOMATED
tomcat               Apache Tomcat is an open source implementa...   161     [OK]       
tutum/apache-php     Apache+PHP base image - listens in port 80...   7       [OK]
httpd                The Apache HTTP Server Project                  72      [OK]       
maven                Apache Maven is a software project managem...   36      [OK]    
获取该镜像
# docker pull appcontainers/apache
删除镜像
# docker rmi 镜像名或ID
查看所有镜像
# docker ps -a
查看当前正在运行的镜像
# docker ps
上传镜像
# docker push 镜像名

4. 创建镜像

  • 基于已有镜像创建容器
  • 基于本地模版导入
  • 基于Dockerfile创建
# docker run -t -i centos:centos7 /bin/bash (运行一个容器,退出后容器就会关闭)
# docker commit -m="apache server" -a="centos7" ce6323e894ac centos7:apache
-m:提交备注信息
-a="centos7": 原镜像标识
ce6323e894ac:原镜像的ID
centos7:新仓库名称
apache:TAG标识

5. 容器

创建容器
# docker  create -it centos
6717626a62a8757ad1a6bb0f41f854874f81dd4e24ab11387faa621eeb430ab1
启动该容器
# docker  start 6717626a62a8
6717626a62a8
docker create命令用于新建处于停止状态的容器,使用docker start启动它;
docker run 创建并启动容器
终止容器
# docker stop 容器名称或者ID
进入容器
# docker  attach Owen
[[email protected] /]# 
查看所有的容器
# docker  ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                       PORTS               NAMES
6717626a62a8        centos:7            "/bin/bash"         11 minutes ago      Exited (130) 6 minutes ago                       focused_heisenberg   
30a88aca6232        centos:6            "/bin/bash"         16 minutes ago      Exited (0) 15 minutes ago                        goofy_wright         
be70c05068a5        centos:6            "/bin/bash"         22 hours ago        Exited (130) 22 hours ago                        lamp                 
489f88943530        centos:7            "/bin/bash"         24 hours ago        Exited (0) 51 seconds ago                        Owen                 
启动一个容器  
[[email protected] docker]# docker  start 30a
30a
查看当前启动的容器
[[email protected] docker]# docker  ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
30a88aca6232        centos:6            "/bin/bash"         16 minutes ago      Up 6 seconds                            goofy_wright        
进入该容器
[[email protected] docker]# docker exec -ti 30a /bin/bash
时间: 2024-12-19 05:21:14

docker:篇1的相关文章

在CentOS7上安装docker篇

一.在CentOS7上安装docker篇 1. 查看系统版本: $ cat /etc/redhat-release CentOS Linux release 7.0.1406 (Core) 2. 安装docker $ yum install docker 安装过程中报错: Transaction check error: file /usr/lib/systemd/system/blk-availability.service from install of device-mapper-7:1.

[徐培成系列实战课程]-docker篇-前序

[徐培成系列实战课程]docker篇如何利用docker快速构建Spark独立模式的集群1.介绍利用docker容器技术快速构建跨节点的独立模型的Spark大数据集群.Spark是时下非常热门的大数据计算引擎,现在apche官方网站已经更新至2.3.1的版本,而且热度居高不下.很多企业越来越多的倾向于使用spark进行海量数据处理,主要是源于其高效快速的架构设计. docker也是非常热门的虚拟化技术,而且发展趋势也是越来越强大,源于其超轻量级的部署和低资源消耗著称,对于大数据从业人群,两者组合

【Docker篇之一】Docker镜像及容器

一.Docker核心概念 1.镜像(image) Docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为是一个面向Docker容器引擎的只读模板,比如一个镜像可以是一个完整的centos操作系统,也可以是一个安装了MySQL的应用程序,称之为一个镜像. 镜像文件用户可以自己创建和更新现有镜像,也可以从网上下载已经做好的应用镜像直接使用. 2.容器(Container) 容器是镜像的另一个运行实例,是独立运行的一个或一组应用以及他们所必须的运行环境,包括文件系统.系统库类.shell环境

【Docker篇四】Mesos+Zookeeper+Marathon+Docker实战实验

Apache Mesos概述 不同的分布式运算框架(spark,hadoop,ES,MPI,Cassandra,etc.)中的不同任务往往需要的资源(内存,CPU,网络IO等)不同,它们运行在同一个集群中,会相互干扰,为此,应该提供一种资源隔离机制避免任务之间由资源争用导致效率下降,考虑到资源利用率,运维成本,数据共享等因素,公司一般希望将所有这些框架部署到一个公共的集群中,让它们共享集群的资源,并对资源进行统一使用,这样,便诞生了资源统一管理与调度平台,典型的代表就是mesos. Apache

50篇经典珍藏 | Docker、Mesos、微服务、云原生技术干货

概念篇 全方位探(tian)索(keng)Mesos各种存储处理方式 老肖有话说@Mesos User Group第四次约会 技术实践 | Mesos 全方位“烹饪”指南 回顾 JAVA 发展轨迹,看 Docker 与 Mesos Docker 与 Mesos 的前生今世 | 数人云CTO肖德时@KVM分享实录 如何利用 Mesos 持久化存储方案部署 ArangoDB 集群 数据处理平台架构中的SMACK组合:Spark.Mesos.Akka.Cassandra以及Kafka 畅谈 Mesos

【VMCloud云平台】拥抱Docker(六)关于DockerFile(3)示例

在前面两篇中,我们讲了大部分参数,今天将介绍另外两个较为重要的参数,然后再将前面两章的知识串起来,做一个DockerFile,实现VIM/SSH镜像. 以下就是今天所要说DockerFile涉及的环境: . DockerFile简易示意图: 1. VOLUME参数:看过我们介绍VOLUME篇的同学应该都知道VOLUME这个参数是用来干啥的,这里就不做多介绍了,如果在dockerfile里不指定的话,可以通过-v进行指定,当然两者是有区别的,具体可以参考Docker篇第五章. 2. WORKDIR

关于Docker在测试方面的应用

Docker 火了很长一段时间了,前段时间简单的学习和试玩了一下子,发现他对测试很有价值,觉得有必要再次深入研究. 这里标记一些较好的学习网址,用作参考: InfoQ上面有系列的文章: 深入浅出Docker在InfoQ上的内容: http://www.infoq.com/cn/dockerdeep/ 深入浅出Docker(一):Docker核心技术预览:http://www.infoq.com/cn/dockerdeep/深入浅出Docker(二):Docker命令行探秘:http://www.

Shell脚本快速部署Kubernetes集群系统

本文紧跟上节所讲的手动部署Kubernetes管理Docker篇所写,本篇主要内容利用Shell脚本完成快速部署Kubernetes集群.上节博文看过的朋友也能感觉到部署过程相对比较简单,那么,出于简化工作流程,推进运维自动化角度来说,于是花了2/3天时间写这个部署Kubernetes脚本. 运维工作中,常常会遇到部署各种各样的服务,建议:常规部署都应该尽量使用脚本完成,一方面提高自身脚本编写能力,另一方面推进运维自动化. 详细部署说明文档:http://lizhenliang.blog.51c

2015 OpenCloud峰会总结

2015北京OpenCloud峰会总结                                   by xww 20150420 Openstack篇 1. 内容概述 以下是大会各个演讲嘉宾的演讲内容,挑选一些我个人感受比较深刻的主题做一个简单的分享或者记录. Rajeev Pandey讲了openstack的技术趋势和生态圈以及一些重要项目,UnitedStack的程辉剖析了openstack到底能干什么以及后续市场前景,并对当下由Nebula的倒闭以至引发业界对openstack的