前言
Docker是目前很强大的一个开源容器,有了它你可以玩出亿种花样来。当然作为主力生产环境,CentOS/Ubuntu肯定是首选了。甚至运行在Wine里的酷Q比运行在Win平台性能更好——所以是不是有必要玩玩呢?
说干就干!马上去阿云买了台ECS,跟着教程开始实战。虽然Docker安装是简单,可由于国内网络环境,以及后续酷Q镜像的拉取,很容易半路出现各种棘手的错误,最终是参考了十来个教程才完整的在CentOS/Ubuntu配置好了酷Q( Ubuntu Docker安装 ,Docker 酷Q安装),看到了官方文档中的noVNC连接画面。所以在此整理了CentOS/Ubuntu安装Docker以及后续创建酷Q容器的全过程,希望能有参考价值。
系统要求
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
可使用如下命令查看你当前的内核版本:
$ uname -r
准备工作
卸载旧版本
较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
更新yum,安装所需软件包
$ sudo yum update
过程中会提示确认。
耐心等待更新完成。
yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
设置仓库
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。
因国内网络原因,这里强烈建议使用国内镜像:
阿里云:
$ sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
清华大学源:
$ sudo yum-config-manager \
--add-repo \
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
当然您也可以使用官方镜像:
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装Docker
安装
默认安装最新版本:
$ sudo yum install docker-ce
或者查看所有仓库中所有docker版本:
$ yum list docker-ce --showduplicates | sort -r
并选择特定版本安装。通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)(如果有的话)一直到第一个连字符,并用连字符(-)分隔。例如docker-ce-19.03.5 ,即为上图中最新版本:
$ sudo yum install docker-ce-19.03.5
# 此处将docker-ce-19.03.5替换为自己欲安装的版本
启动配置
启动并加入开机启动
$ sudo systemctl start docker
$ sudo systemctl enable docker
验证是否配置成功
通过查看版本:
$ docker version
也可以通过运行 hello-world 映像来验证:
$ sudo docker run hello-world
更新和卸载 Docker
更新 Docker
$ sudo yum update docker-ce
卸载 Docker
$ sudo yum remove docker-ce
删除本地文件
注意,docker 的本地文件,包括镜像(images), 容器(containers), 存储卷(volumes)等,都需要手工删除。默认目录存储在 /var/lib/docker
。
$ sudo rm -rf /var/lib/docker