目录
前言
一、Docker简介
二、安装部署以及测试Docker
1.安装Docker
1.1查看系统版本
1.2移除旧依赖
1.3安装方法
1.4设置存储库
编辑 1.5安装Docker引擎
1.6启动Docker
1.7配置docker国内镜像
编辑
点关注,防走丢,如有纰漏之处,请留言指教,非常感谢
本文安装基础紧接着上篇文章:云服务器Centos8.2SSH登陆、安装部署图形化界面以及VNC连接一文详解
在服务器上仅安装了图形化界面,以及通过宿主机的SecureCRT和VNC连接器可以连通云服务器上的虚拟机。现在我们通过安装部署Docker把其他的服务都部署上去。
之前使用centos虚拟机安装部署hadoop时经常会安装到其他组件,有时候遇到下载速度过于慢的时候我们就会去换个镜像,比如阿里镜像和清华镜像等,这些镜像都是采用的Docker技术实现的。我们经常会与Docker技术打交道但是在还不了解Docker之前还不知道我们使用了该技术,现我们先简单了解Docker技术。
虚拟机属于服务器虚拟化技术。而 Docker 这样轻量级的虚拟化,属于操作系统虚拟化技术。Docker有三大核心概念,分别是:
简而言之Docker就是一个开源容器引擎技术,通过类似Git的操作方式来构建,分发Image,是容器更加灵活快速。
本次安装操作仍是用SecureCRT连接虚拟机,在此之上进行部署和测试,云服务器上面的web界面的指令操作不太好用。
Install Docker Engine on CentOS 这是官方安装Docker引擎的文档,当然全是英文,按照本文的步骤安装是一样的。
要开始在CentOS上使用Docker Engine,要先做好准备工作和看清楚依赖。
要安装Docker Engine,需要CentOS 7、CentOS 8(stream)或CentOS 9(stream)等以上版本。不支持或测试存档版本。必须启用centos extras存储库。默认情况下,此存储库已启用,但如果已禁用,则需要重新启用它,建议使用Overly2存储驱动程序。
如果不确定版本的话建议再查看一下版本1,Docker官方更新至少需要7.0以上,查看内核版本:
uname -a
我这台新的服务器理应是没有其他docker旧依赖的,但为了安全以及演示,执行一遍:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
可以看到是没有匹配到这些目录文件的。
官方给出的安装方法有三种:
第一种:大多数用户设置Docker的存储库并从中安装,以便于安装和升级任务。官方推荐那么我们就选这种安装方法。
第二种:一些用户下载RPM软件包并手动安装,并完全手动管理升级。这在诸如在 air-gapped系统上安装Docker而无法访问internet的情况下非常有用。
第三种:在测试和开发环境中,一些用户选择使用自动便捷脚本来安装Docker。
安装yum-utils包(提供yum-config-manager实用程序)并设置存储库。
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
接着连输入两个y:
安装最新版本的Docker Engine、containerd和Docker Compose,或转至下一步安装特定版本:
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
此命令安装Docker,但不启动Docker。它还创建了一个docker组,但默认情况下不会向该组添加任何用户。
要安装特定版本的Docker Engine,请在repo中列出可用版本,然后选择并安装:
yum list docker-ce --showduplicates | sort -r
返回的列表取决于启用了哪些存储库,并且特定于您的CentOS版本(在本例中由.el7后缀表示)。我推荐还是使用最新版本的Docker:
这里要把yum文件修改一下,不然会报错:
Invalid configuration value: failovermethod=priority in /etc/yum.repos.d/CentOS-Epel.repo; Configuration: OptionBinding with id "failovermethod" does not exist
修改:
vi /etc/yum.repos.d/CentOS-Epel.repo
将failovermethod=priority给注释掉:
然后直接下载最新版docker:
yum install docker-ce-20.10.9 docker-ce-cli-20.10.9 containerd.io docker-compose-plugin
还是报错:
Error:
Problem 1: problem with installed package podman-3.3.1-9.module_el8.5.0+988+b1f0b741.x86_64
错信息是已经有了 podman
和 buildah
, 操作系统只允许一个容器工具存在。看样子腾讯云自带podman,其实个人觉得podman比docker好使,为了演示没办法了。
既然不兼容那么我们就把pdoman卸载:
yum -y erase podman buildah
再次安装docker:
这样就是安装成功了。
sudo systemctl start docker
通过运行hello world映像,验证Docker引擎是否已正确安装。
sudo docker run hello-world
此命令下载测试映像并在容器中运行。当容器运行时,它打印一条消息并退出。
这将安装并运行Docker引擎。使用sudo运行Docker命令。继续Linux postinstall以允许非特权用户运行Docker命令和其他可选配置步骤。
也可以通过命令查看docker是否安装成功:
yum list installed |grep docker
设置一下开机自动启动:
systemctl enable docker.service
systemctl status docker
创建一个JSON文件:
vim /etc/docker/daemon.json
配置一个国内镜像:中科大
最后重启一下docker服务
systemctl restart docker.service
OK,Docker完成部署。
以上就是本期全部内容。我是fanstuck ,有问题大家随时留言讨论 ,我们下期见。