Linux 学习 – 容器技术
- 容器基础概述
- 容器部署
一、容器基础概述
容器(Container) :
定义:指的是针对应用所需的运行环境资源(依赖库/目录/网络/用户……等)进行整体封装的技术。
特点:封装好的镜像相比虚拟机的粒度要更细,可移植性强。每个容器采用沙箱机制,相互隔离。容器现在只支持Linux操作系统。
虚拟化和容器的对比:
相同点:都是对用户提供某种服务。
不同点:
1、虚拟化是在虚拟化平台上安装虚拟机,然后在虚拟机上 安装不同的操作系统,进行独立的配置,提供服务。
2、容器技术不需要虚拟化那样麻烦,提供某种服务只需要安装相应的软件包、依赖包和函数库,不需要操作系统,底层和Linux共用,占用的内存更小。
红帽中的容器:
Podman (podmanager) :
是一个功能齐全的容器引擎,它是一个简单的无需守护的用来管理镜像、容器的工具。Podman提供了一个与Docker CLI兼容的操作方式,简单地说: alias docker=podman。大多数Podman命令都可以普通用户运行,而无需其他额外的权限。类似容器的豪华版,功能丰富。
名字Podman的由来: Pod也叫做豆荚,豆荚里面有很多豆子,每一个豆子就是一个容器,因此也叫做豆荚管理器。
Container(容器)
每一个容器相当于一个运行中的袖珍版的虚拟机
每一个容器相当于一个运行中的豪华版的软件包
仓库=》镜像=》容器的关系:
仓库:用来提供/存放镜像,有官方仓库(比如红帽的registry.redhat.io、Docker的dacker lo). 或自建私有仓库。
镜像:针对某个虚拟机或某个应用封装的独立环境,作为容器的模板。
容像:基下某个H接后员B9性:内学干运行韭廷例。
仓库服务器(提供镜像) ==》镜像(静止的,可以存储的 ) ==》容器(动态的,运行中)
registry == image == container
常见的仓库服务器:
registry.access.redhat.com(红帽官方)
docker.io(Docker官方的)
私有仓库等
图解镜像:
二、Docker部署
1、参考Docker的官网进行安装。
官网地址:https://docs.docker.com/engine/install/centos/
2、安装步骤
2.1:检查操作系统版本是否支持:
cat /etc/centos-release //CentOS操作系统。
2.2:卸载旧版本
命令: sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
2.3:yum安装gcc相关
首先虚拟机可以访问外网。
然后使用命令: yum -y install gcc
再使用命令: yum -y install gcc-c++
2.4:安装所需软件包
参考官网
命令如下:yum install -y yum-utils
2.5:设置stable镜像仓库
安装stable镜像仓库假如使用官网的外网进行下载,大多数是超时。
所以使用国内的镜像仓库。
这里使用阿里云的:命令如下
yum -config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.6:更新yum软件包索引
命令: yum makecache fast
可以加快yum安装速度。
2.7:安装DOCKER CE
yum -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
2.8:启动docker
systemctl start docker
没有报错就表示安装好了。
2.9:测试
1、可以 使用 docker version,查看当前docker的版本。
2、使用 docker run hello-world 测试,发现失败,因为没有hello-world的镜像,需要从远程仓库中拉取。
当再次执行docker run hello-world 的时候,就会出现Hello from docker.
恭喜你,安装完成了!
卸载Docker:
systemctl stop docker //停止docker服务
yum remove docker-ce docker-ce-cil containerd.io
rm -rf /var/lib/docker //移除库文件等。
rm -rf /var/lib/containerd