赞
踩
id: docker-install
categories: docker, podman, container
tags: container
status: Published
authors: balladpanda
Feedback Link: https://debris.cn
Duration: 5
容器是一个跨时代的开源项目,降低了云计算资源供应的成本,同时让应用的部署、测试和分发都变得前所未有的高效和轻松。本实验结合了实际生产实践使用,详细梳理了Docker如何在不同环境下进行安装和部署,以及在部署后如何对Docker的常用功能进行相关设置以便更好地使用。
Docker
是一个开源的应用容器引擎,属于 Linux 容器的一种封装,Docker 提供简单的容器使用接口,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到Linux 机器上,但Docker也有 两个主要缺点:
Podman
也是一个开源的容器管理工具,可以在大多数Linux平台上使用,它是一种无守护程序的容器引擎,亦用于在Linux系统上开发,管理和运行任何符合Open Container Initiative(OCI)
标准的容器和容器镜像,提供了一个与Docker兼容的命令行前端。
Podman控制下的容器既可以由root用户运行,也可以由非特权用户运行。使用Podman后可以解决由于docker守护程序导致的启动和安全问题。
Docker
需要在我们的系统上运行一个守护进程(docker daemon),Podman
而不需要.
启动容器的方式不同:
docker cli
通过API跟 Docker Engine(引擎)交互告诉它我想创建一个 container,然后docker Engine才会调用OCI container runtime(runc)来启动一个container。这代表contain- er的process(进程)不会是Docker CLI的child process(子进程),而是Docker Engine的child process。Duration: 0
Duration: 10
通过Centos与内核版本对应关系可以找到系统版本与内核版本的对应关系
查看当前内核版本
uname -sr
载入公钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
安装elrepo
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
载入elrepo-kernel元数据
yum --disablerepo=\* --enablerepo=elrepo-kernel repolist
查看kernel版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
安装最新版本的kernel
yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-devel –y
查看当前可用内核版本:
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
更改内核默认启动顺序,选择最新内核版本,0代表查看当前可用内核版本列表的左侧索引号
grub2-set-default 0
生成grub文件
grub2-mkconfig -o /boot/grub2/grub.cfg
重启
reboot
删除旧版本工具包
yum remove kernel-tools-libs.x86_64 kernel-tools.x86_64
安装新版本工具包
yum --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-ml-tools.x86_64
验证
uname -sr
Duration: 10
我们这次采用Docker。安装Podman详见实验中关于Podman的文档.
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
sudo yum install docker-ce docker-ce-cli containerd.io
kubernetes有对应版本要求,根据要求选择对应的版本号即可。
详见:https://github.com/kubernetes/kubernetes/tree/master/CHANGELOG
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
示例:
sudo yum install docker-ce-19.03.9-3.el7 docker-ce-cli-19.03.9-3.el7 containerd.io
sudo systemctl start docker
sudo systemctl enable docker
docker version
Duration: 10
因为互联网的原因,从国外下载镜像会比较慢,所以需要单独配置下国内的镜像加速器。
tee /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker info
参考镜像加速器地址:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。