标签: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
原文地址:http://owenpan.blog.51cto.com/10420181/1662335