CentOS 仅发行版本中的内核支持 Docker。Docker 运行在CentOS 7 (64-bit)上,
要求系统为64位、Linux系统内核版本为 3.8以上,这里选用Centos7.x
查看自己的Linux系统版本以及内核版本
#查看Linux版本
cat /etc/redhat-release
#查看内核版本
uname -r
官网
https://docs.docker.com/engine/install/centos/
卸载旧版本,命令如下
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
yum安装gcc相关的
yum -y install gcc
yum -y install gcc-c++
安装需要的软件包
设置仓库命令
# 安装Yum工具包
sudo yum install -y yum-utils
# 配置仓库,这里就不用官网的了,用的阿里云Docker仓库
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新yum软件包索引
yum makecache fast
安装DOCKER CE(引擎)
yum -y install docker-ce docker-ce-cli containerd.io
启动docker
systemctl start docker
测试是否安装成功
docker version
docker run hello-world
卸载命令
#停止服务
systemctl stop docker
#移除有关东西以及删除
yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
登录阿里云控制台,找到容器镜像服务
找到自己的镜像加速器地址
配置加速器
可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
mkdir -p /etc/docker
#将这个镜像加速器写入配置文件
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://这里是你自己的.mirror.aliyuncs.com"]
}
EOF
#配置文件重新加载以及重启Docker
systemctl daemon-reload
systemctl restart docker
如下图
1)docker有着比虚拟机更少的抽象层
由于docker不需要Hypervisor(虚拟机)实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势。
2)docker利用的是宿主机的内核,而不需要加载操作系统OS内核
当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。进而避免引寻、加载操作系统内核返回等比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载OS,返回新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,需要啥加载啥,省略了返回过程,因此新建一个docker容器只需要几秒钟
每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。