一:概述
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
-
DockerClient客户端
-
Docker Daemon守护进程
-
Docker Image镜像
-
Docker Container容器
而容器技术的核心有以下几个内核技术组成:
1.cgroups 资源管理(限制空间大小)
2.Namespace 进程隔离
3.SElinux 安全
下面有一张docker容器技术和传统虚拟化技术的对比图,很清楚的看见docker之所以比传统虚拟化速度要快,是因为docker没有操作系统
可以理解为就是一个程序(不占内存,cpu,速度快)这也是和传统虚拟化最大的区别
docker也有自己的缺点
1.容器的隔离性没有虚拟化强
2.共用Linux内核,安全性有先天缺陷
3.selinux难以驾驭
4.监控容器和容器排错
二:安装要求
1.64位操作系统
2.至少RHEL6.5版本以上,个人强烈建议RHEL7.0版本
3.关闭防火墙(不是必须)
4.内核版本必须是3.10以上,可以通过 uname -r 命令检查内核版本
三:安装docker
1.已经安装过docker的,需要进行卸载
命令:yum -y remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
因为我是新建的虚拟机,并没有安装docker历史
2.安装docker依赖包
命令:yum -y install yum-utils device-mapper-persistent-data lvm2
有两种方法下载docker源,一种是官方,一种是阿里云,个人建议使用阿里云
命令:cd /etc/yum.repos.d/
官网地址:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
阿里云地址:yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.正式安装docker
命令:yum -y install docker-ce
4.启动docker以及测试
命令:systemctl start docker #启动docker
测试:docker run hello-world
执行命令docker后,如果与下图内容一致 则表示成功
或者输入ip a (ifconfig)会出现如下图,也是安装成功
四、Docker 的简单操作
1.下载镜像
下载一个官方的centos镜像到本地
docker pull centos
下载好的镜像就会出现在镜像列表里
docker images
2.运行容器
这时我们可以在刚才下载的 CentOS 镜像生成的容器内操作了。
生成一个 centos 镜像为模板的容器并使用 bash shell
docker run -it centos /bin/bash
这个时候可以看到命令行的前端已经变成了 [root@(一串 hash Id)] 的形式, 这说明我们已经成功进入了 CentOS 容器。
在容器内执行任意命令, 不会影响到宿主机, 如下: mkdir -p /data/simple_docker
可以看到 /data 目录下已经创建成功了 simple_docker 文件夹: ls /data
4.退出容器
exit
查看宿主机的 /data 目录, 并没有 simple_docker 文件夹, 说明容器内的操作不会影响到宿主机
ls /data
5.保存容器
查看所有的容器信息, 能获取容器的id
docker ps -a
然后执行如下命令,保存镜像: docker commit -m="备注" 你的CONTAINER_ID 你的IMAGE
我要这天再遮不住我眼,要这地再埋不了我心。要这天下众生都明白我意,要那诸佛都烟消云散!