什么是Docker
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。
Docker项目的目标是实现轻量级的操作系统虚拟化解决方案,Docker的基础是Linux容器(LXC)、Cgroup等技术
docker和传统虚拟化的区别
Docker和传统虚拟化(KVM、XEN)方式的不同之处是容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件的基础上,虚拟出自己的系统,再在系统上部署相关的APP应用。
重点:Docker虚拟化有三个概念需要理解,分别镜像、容器、仓库。
1、镜像:docker的镜像其实就是模板,跟我们常见的ISO镜像类似,是一个模板。
2、仓库:仓库是存放镜像的地方,分为公开仓库(public)和私有仓库(private)两种形式
3、容器:容器是完全使用沙箱机制,相互之间不会有任何接口。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包括系统。
Docker虚拟化的安装
center7以上机器才能使用yum直接安装,如果其他版本需要安装centos扩展源epel。
centos6.x系列安装Docker软件,首先要关闭selinux,然后需要安装相应的epel源,如下:
首先关闭selinux
vi /etc/selinux/config 修改文件内容
ELINUX=disabled
然后命令行sestatus检查状态
下载扩展包
wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
安装 rpm -ivh epel-release-6-8.noarch.rpm
安装容器和资源限制 yum install lxc libcgroup
安装docker yum install docker-io
注意:如果上面命令安装失败,可以用下面命令下载
yum install https://get.docker.com/rpm/1.7.1/centos-6/RPMS/x86_64/docker-engine-1.7.1-1.el6.x86_64.rpm
启动docker进程 /etc/init.d/docker start
查看docker进程 ps -ef|grep docker
下载tomcat镜像 docker pull tomcat
操作命令
查看镜像 docker images
删除一个镜像 docker rm 镜像名
保存一个镜像 docker save 镜像名 > centos.jar
导入一个镜像 docker load < nginx1.11.tar
导入容器 docker import - centos7
导出容器 docker export i容器d >centos7.tar
查看docker版本 docker version
查看docker服务启动 ps -ef |grep docker
查看容器状态 docker ps -l
搜索可用docker镜像 docker search centos
运行镜像 docker run centos
关闭容器 docker stop id
启动某个容器 docker start id
进入一个容器 docker attach id
删除一个容器 docker rm id
删除一个镜像 docker rmi images
退出一个容器 exit 正常退出不关闭Ctrl+P+Q
容器中安装ntpdate `docker run centos yum install ntpdate
docker run -i -t centos(容器名称) /bin/bash 在容器里启动一个/bin/bash shell环境,可以登录进入操作,其中-t表示打开一个终端的意思,-i表示可以交互输入
查看系统版本 cat /etc/redhat-release
* 7.0以上系统的命令