码迷,mamicode.com
首页 > 其他好文 > 详细

docker:篇1

时间:2015-06-16 19:34:23      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:docker

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
[root@489f88943530 /]# 
查看所有的容器
# 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                 
启动一个容器  
[root@localhost docker]# docker  start 30a
30a
查看当前启动的容器
[root@localhost docker]# docker  ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
30a88aca6232        centos:6            "/bin/bash"         16 minutes ago      Up 6 seconds                            goofy_wright        
进入该容器
[root@localhost docker]# docker exec -ti 30a /bin/bash


docker:篇1

标签:docker

原文地址:http://owenpan.blog.51cto.com/10420181/1662335

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!