Docker---初识到使用

一、剖析虚拟化技术概念docker

1)虚拟化是一个主流的技术,虚拟的,看不见的,可是能够落地的,用于资源管理的一项技术;安全

2)虚拟化的技术诞生的目标就是为了解决资源管理和资源利用的解决方案;bash

3)虚拟化就是将物理设备转变为逻辑上能够管理资源,以打破物理之间结构的壁垒,让计算元件运行在虚拟的基础上,而不是真实的物理设备上;网络

4)虚拟化的底层是要进行虚拟的物理机器,经过虚拟化技术能够将物理机虚拟生成N个虚拟机,应用程序、软件(Apache、MYSQL、Nginx、Redis、Tomcat)运行在虚拟机中,而不是物理机;app

5)假设公司需求,须要部署100个Nginx服务,有以下的方案:性能

  • 采购100台低配物理机,每台物理机部署一个Nginx服务;
  • 采购10台高配物理机,每台物理机虚拟10台虚拟机(配置同低配物理机),每一个虚拟机部署一个Nginx服务;(企业推荐)

6)虚拟化技术,主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能太低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件资源。spa

 

二、Docker虚拟化技术概念操作系统

1)虚拟化技术进行分类,分为三大类:彻底虚拟化、半虚拟化、轻量级虚拟化(Docker),虚拟化技术分层的抽象,如图所示:3d

 

2)Docker技术的产物是Docker容器(集装箱),容器中存放各类依赖文件、库、应用软件,能够打包繁杂的库文件、依赖程序到容器中,能够方便迁移到其余的平台;code

 

 

3)传统虚拟化技术,若是想部署Nginx服务,必须基于底层硬件-VMM-GuestOS-Nginx服务;

4)Docker虚拟化技术,若是想部署Nginx服务,必须基于底层硬件-VMM-Nginx服务;

 

三、0开始构建Docker虚拟化平台

1)Docker官方要求Linux系统内核3.8+,对应的Linux操做系统发行版本:CentOS、Redhat、Ubuntu、Suse等;

目前,CentOS 仅发行版本中的内核支持 Docker。

Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。

Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。

Linux查看版本命令:

cat /etc/redhat-release           //查看系统版本
uname -a                          //查看内核版本
df -h                             //查看磁盘容量

2)生产环境最好使用CentOS7.x+;

3)基于CentOS6.x安装部署Docker平台,指令以下:

yum install epel-release docker-io lxc device-map* cgroup -y

4)基于CentOS7.x安装部署Docker平台,指令以下:

yum -y install docker         

检查是否按照成功

docker version 

若输出了 Docker 的版本号,说明安装成功了,可经过如下命令启动 Docker 服务:

service docker start

一旦 Docker 服务启动完毕,就能够开始使用 Docker 了。

 

5)docker命令

使用命令前先理解docker三组件的关系:

  docker 三组件:镜像、容器、仓库:

  1.镜像
          Docker运行容器前须要本地存在对应的镜像。
       Docker镜像,相似ISO镜像文件,静止的,不能被修改,一个模板文件;
            镜像能够用来建立Docker容器的。一个镜像能够包含一个完整的操做系统环境和用户须要的其它应用程序。在docker hub 里面有大量现成的镜像提供下载。docker的镜像是只可读的,一个镜像能够建立多个容器
       2.容器
           Docker利用容器来开发、运行应用。
      Docker容器,基于Docker镜像运行的实体,相似程序和进程的关系,进程是程序(软件)运行的实体;
           容器是镜像建立的实例。它能够被启动、开始、中止、删除。每一个容器都是 相互隔离的、保证安全的平台。
        3.仓库
           仓库是集中存放镜像文件的场所。
           每一个 仓库中又包含了多个镜像,每一个镜像有不一样的标签(tag)。
           最大的公开仓库是DockerHub,存放了数量庞大的镜像供用户下载。国内的公开 仓库包括DockerPool等,能够提供大陆用户更稳定快速的访问。固然,用户也能够在本地网络内建立一个私有仓库。

 

 基础命令:

docker search tutorial                    //检索名字为“tutorial”的镜像

                    //从镜像仓库拉取镜像到本地
docker images                            //查看已下载的镜像docker pull medicean/vulapps:s_struts2_s2-052

docker run -d -p 8888:8080 medicean/vulapps:s_struts2_s2-052       //启动环境

参数说明:

  • -d:让容器在后台运行。
  • -p:将容器内部使用的网络端口映射到咱们使用的主机上。(如8080为st2-052镜像的端口,将8080映射到本地的8888端口,便可经过访问本地ip:8888来访问咱们搭建的镜像环境)
docker ps           查看当前正在运行的容器
docker ps -a               docker ps -a能够看到全部的容器,包括正在运行的和已经中止的

docker stop ed                //中止某个正着运行的容器
docker start ed                    //若是想继续使用,用start来启动它
docker stop ed                     //想删除这个容器、要先中止这个容器、用stop就能够中止
docker rm ed                       //这个用来删除已经中止的容器
docker rmi imgesid          //删除镜像
docker run -t -i +镜像id /bin/bash //启动一个bash终端。并容许用户进行链接
//-t 让docker分配一个伪终端,并绑定到容器的标准输入上,-i 则让容器的标准输入保持打

 

6)使用yum卸载docker

yum list installed | grep docker                 //列出安装的软件包

yum -y remove docker-engine.x86_64              //移除软件包

rm -rf /var/lib/docker                        //删除全部镜像、容器和组

 

 

笨鸟先飞早入林,笨人勤学早成材。

转载请注明出处:
撰写人:fox-yu  http://www.cnblogs.com/fox-yu/
相关文章
相关标签/搜索