基于CentOS7安装Docker

一、CentOS的环境要求

Docker要求CentOS的系统内核要高于3.10,通过uname -r指令查看自己的CentOS内核版本是否符合规定。

[root@c7m1 ~]# uname -r

 

 上面表示本机内核是符合要求的。

二、安装Docker

1.移除旧版本

较旧版本的Docker被称为docker或docker-engine。如果已安装这些,请卸载它们以及相关的依赖项。

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.安装设置存储库

设置Docker的存储库并从中进行安装,以便于安装和升级任务。这是推荐的方法,但前提是该机器能够联网,本文采用这种方式安装。

在新主机上首次安装Docker CE之前,需要设置Docker存储库。之后,就可以从存储库安装和更新Docker。

执行以下指令,安装所需要的包:

yum install -y yum-utils device-mapper-persistent-data lvm2

如果需要的包成功安装:

3.设置稳定的存储库

在国内的开发环境中一般使用阿里云镜像,它的优点是快速、稳定:

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

设置好新的存储库后,需要更新yum缓存:

yum makecache fast

如下图所示:

4.查看可安装的Docker版本

通过以下指令可以查看可安装的Docker版本:

yum list docker-ce --showduplicates | sort –r

在这里我们选择的是docker-ce-18.06.1.ce-3.el7版本:

5.安装指定版本的Docker

通过以下指令可以安装我们指定的Docker版本:

yum install -y --setopt=obsoletes=0 docker-ce-18.06.1.ce-3.el7

安装完成:

6.启动Docker

systemctl start docker

7.开机启动Docker

systemctl enable docker

8.测试运行Docker

docker run hello-world

第一次运行docker镜像就出现报错,这个错误的原因是由于本地没有hello-world镜像,然后需要在 docker hub上拉取镜像,但是由于国内网络问题,无法连接到 docker hub,因此会出现timeout错误。

解决方法如下:

首先,关闭Docker服务:

systemctl stop docker

新版的Docker使用 /etc/docker/daemon.json(Linux)来配置Daemon。如果没有这个文件先新建一个,然后在daemon.json文件中增加如下内容:

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

然后,重启Docker服务:

systemctl start docker

最后,继续测试hello-world:

docker run hello-world

测试通过:

三、修改Docker根目录的位置

Docker默认的安装目录在/var/lib/docker:

如果需要切换该目录,可以进行如下操作:

1.关闭Docker服务:

systemctl stop docker

2.将/var/lib/docker复制到指定目录下,这里我放在了usr目录下:

cp -a /var/lib/docker /usr/

3.编辑/lib/systemd/system/docker.service文件:

vi /lib/systemd/system/docker.service

4.修改内容:

ExecStart=/usr/bin/dockerd --graph=/usr/docker

5.重启之后,再看docker info信息,可以看到文件位置发生改变:

猜你喜欢

转载自blog.csdn.net/lazy_moon/article/details/85260896