目录
1.什么是容器(Container)
容器(Container)是以一种特定的格式来打包镜像,可以各自独立运行在一个操作系统上,具有系统平滑移植,容器虚拟化技术
不会捆绑一个完整的操作系统,仅仅打包软件所需要的依赖库和设置。可以帮你打包应用中的所有软件和软件所依赖的环境,并且可以实现跨平台部署,做到一次镜像,处处运行
轻量级,高效、秒级启动,系统平滑移植容器技术,
2.容器和虚拟化的区别
1.传统虚拟化技术
传统虚拟机技术基于安装在操作系统上的虚拟机系统,如:KVM,VMWare,创建虚拟机(虚拟出各种硬件),虚拟机上安装从操作系统,在从操作系统中安装部署各种应用。
缺点:
1)占用资源多 2)冗余步骤多 3)启动慢
2.容器虚拟化
容器不是模拟一个完整的操作系统,而是对进程的隔离,在该系统上在运行所需进程 而容器内的应用进程之间运行于宿主机的内核,容器内没有自己内核,共享宿主机内核空间资源。
优点:
1)启动快 2)占用资源少 3)体积小 4)简化部署 5)易于迁移 6)服务组合
总结:
虚拟化使得多个操作系统可同时运行在单个系统上
容器则可共享同一个操作系统的内核,将应用程序与系统其它部分隔离开
3.什么是Docker
Docker是一种轻量虚拟化的容器技术,能极大简化环境运维过程。Docker是容器运行的引(容器系统)负责启动容器镜像、运行容器应用和管理容器实例。
Docker是基于Go语言实现的云开源项目。
Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次镜像,处处运行”。
官方网址:
4.安装Docker
确定版本CentOS7及以上
4.1卸载旧版本
当安装过docker版本先卸载他们以及关联的依赖关系
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
4.2安装gcc
$ sudo yum -y install gcc gcc-c++
4.3安装Docker CE
1)安装所需包
安装所需的软件包 yum-utils提供了yum-config-manager实用程序, devicemapper-persistent-data和lvm2是devicemapper(设备映射)存储驱动程序所必需的
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2)安装stable镜像库
官方源:
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
国内源:
$ sudo yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3)安装Docker CE
1.安装最新版本:
$ sudo yum -y install docker-ce
2.选择不同版本指定安装
$ yum list docker-ce --showduplicates | sort -r
$ sudo yum install docker-ce-<VERSION STRING>
4.4启动Docker
$ sudo systemctl enable docker
$ sudo systemctl start docker
$ sudo systemctl status docker
4.5查看版本安装时间
docker version
4.6 测试
检查docker是否正确安装并运行hello-world镜像
docker run hello-world