一:概述
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
而容器技术的核心有以下几个内核技术组成:
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 images 查看镜像列表 例: docker images
docker history 查看镜像制作历史 例: docker history docker.io/centos
docker inspect 查看镜像底层信息 例: docker inspect docker.io/centos
docker pull 下载镜像 例: docker pull centos 例: docker pull seanlook/centos:centos6
docker push 上传镜像 例: docker push seanlook/mongo
docker rmi 删除本地镜像 例: docker rmi docker.io/centos
docker save 镜像另存tar包导出镜像 例: docker save docker.io/busybox:latest -o busybox.tar (导出镜像到busybox.tar里)
docker load 导入镜像 例: docker load -i nginx.tar
docker search 搜索镜像 例: docker search docker.io/centos
docker tag 修改镜像名称和标签 例: docker tag docker.io/centos:latest cen:v1 把镜像名称docker.io和标签latest 改成cen:v1 latest为默认标签
docker run 运行容器 例:docker run -d docker.io/nginx
docker ps 查看正在运行的容器 docker ps -a 查看所有容器列表 docker ps -aq 仅显示容器id
docker stop 关闭容器 查看运行的容器id然后关闭 例: docker stop b8f
docker start 开启容器 同上
docker restart 重启容器 同上
docker attach/exec 进入容器 attach 进入容器后exit退出会导致容器关闭 exec进入容器退出时不会关闭容器 docker attach b8f2
docker inspect 查看容器底层信息 docker inspect b8f
docker top 查看容器进行列表 docker top b8f2
docker rm 删除容器 docker rm b8f2 容器运行时删除会提示错误 要先关闭容器
原文:https://www.cnblogs.com/xiaolei123/p/11918450.html