参考文档来自Docker官网: https://docs.docker.com/install/linux/docker-ce/centos/
参考文献:https://blog.csdn.net/deng624796905/article/details/86493330
(由于官网为纯英文文档,故在此作一些翻译和总结)
(1)由于 Docker-CE 支持 64 位版本的 CentOS7 ,并且要求内核版本不低于 3.10
首先我们需要卸载掉旧版本的 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
(如果像博主这样之前没有安装过的就会出现下图的提示)
(2)然后我们执行以下安装命令去安装依赖包:
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
(3)安装Docker
Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。因此想要安装 docker,只需要运行下面的 yum 命令
$ sudo yum install docker
中间有一步需要确定,输入“y”即可
(3)安装完成后,运行下面的命令,验证是否安装成功:
docker version
or
docker info
(这里Package version 没有显示出来,这里博主留个坑,本文随后会解释)
(4)启动Docker-CE
$ sudo systemctl enable docker
$ sudo systemctl start docker
(5)Docker的简单运用—Hello World
我们通过最简单的 image 文件 hello world,感受一下 Docker 的魅力吧!
我们直接运行下面的命令,将名为 hello-world 的 image 文件从仓库抓取到本地。
docker pull library/hello-world
docker pull images 是抓取 image 文件, library/hello-world 是 image 文件在仓库里面的位置,其中 library 是 image 文件所在的组, hello-world 是 image 文件的名字。
输出这段提示以后,hello world 就会停止运行,容器自动终止。有些容器不会自动终止,因为提供的是服务,比如Mysql镜像等。
是不是很 easy 呢?我们从上面可以看出, docker 的功能是十分强大的,除此之外,我们还可以拉去一些 Ubuntu , Apache 等镜像。
Docker 提供了一套简单实用的命令来创建和更新镜像,我们可以通过网络直接下载一个已经创建好了的应用镜像,并通过 Docker RUN 命令就可以直接使用。当镜像通过 RUN 命令运行成功后,这个运行的镜像就是一个 Docker 容器啦,容器可以理解为一个轻量级的沙箱, Docker 利用容器来运行和隔离应用,容器是可以被启动、停止、删除的,这并不会影响 Docker 镜像。
抓取成功以后,就可以在本机看到这个 image 文件了。
$ docker images
但是这里遇见了和刚才得Package version一样的问题!我们的许可权受限,这里可以根据这篇博文得到答案
https://www.cnblogs.com/informatics/p/8276172.html
大概的意思就是:docker进程使用Unix Socket而不是TCP端口。而默认情况下,Unix socket属于root用户,需要root权限才能访问。
于是你以管理员权限进行操作就没问题啦(顺带一提答案博文中的第二种办法博主没有成功,期待大神来解决OvO)
一起来感受Docker的魅力吧!