在centos7上安装Docker CE
最近在linux内核为3.10的系统上构建镜像之后移植到centos内核为2.6.32-642.el6.x86_64上去导入和创建容器成功了
旧版本docker安装参考:https://www.cnblogs.com/lonecloud/p/7392456.html
==========================================================================
使用 sudo 或 root 权限的用户登入终端
①先确认linux系统版本是否满足安装要求:
Docker运行的平台是什么?
Linux的:
- 运行Linux内核版本3.10+的任何发行版
- 大多数Linux发行版都有特定的说明,包括 RHEL,Ubuntu, Oracle Linux, SuSE等等。
微软Windows:
- Windows Server 2016
- Windows 10
目前,CentOS 仅发行版本中的内核支持 Docker。
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
②理解docker的几个核心概念:
镜像:类似虚拟机的镜像、用俗话说就是安装文件。
容器:类似一个轻量级的沙箱,容器是从镜像创建应用运行实例,
可以将其启动、开始、停止、删除、而这些容器都是相互隔离、互不可见的。
仓库:类似代码仓库,是Docker集中存放镜像文件的场所
按照网上的教程安装了docker后来发现安装的是旧版本的docker-engine,查阅官方文档重新安装
卸载旧版本docker-engine:
[root@localhost etc]# yum remove docker \ > docker-client \ > docker-client-latest \ > docker-common \ > docker-latest \ > docker-latest-logrotate \ > docker-logrotate \ > docker-engine
卸载docker -ce版本的方法:
yum remove docker-ce
1.检查内核版本,返回的值大于3.10即可。
[root@localhost etc]# uname -r 3.10.0-693.el7.x86_64
2.升级yum到最新
yum update
3.yum 仓库添加docker源信息
步骤一:安装所需的程序(Install required packages. yum-utils
provides the yum-config-manager
utility, and device-mapper-persistent-data
and lvm2
are required by the devicemapper
storage drive)
[root@izwz92fbqxna6qt4ya9t4nz conf]# yum install -y yum-utils device-mapper-persistent-data lvm2
步骤二:添加docker源
[root@izwz92fbqxna6qt4ya9t4nz conf]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4.安装docker(不指定版本则默认安装所配源仓库的最新版本):
情况一:直接安装
yum install -y docker-ce
官网这个地方还安装了docker-ce-cli和containerd.io
,但是我直接执行上面的安装命令,发现这两个工具也安装了
yum install docker-ce docker-ce-cli containerd.io
[root@izwz92fbqxna6qt4ya9t4nz soft]# yum install docker-ce-cli containerd.io Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Package 1:docker-ce-cli-18.09.2-3.el7.x86_64 already installed and latest version Package containerd.io-1.2.2-3.3.el7.x86_64 already installed and latest version Nothing to do
情况二:安装指定版本
查看所有版本及版本信息
[root@izwz92fbqxna6qt4ya9t4nz soft]# yum list docker-ce --showduplicates | sort -r Loading mirror speeds from cached hostfile Loaded plugins: fastestmirror Installed Packages docker-ce.x86_64 3:18.09.2-3.el7 docker-ce-stable docker-ce.x86_64 3:18.09.2-3.el7 @docker-ce-stable docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
选择版本安装
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
5.检查docker是否安装成功:
[root@izwz92fbqxna6qt4ya9t4nz soft]# docker -v Docker version 18.09.2, build 6247962
6.启动docker:
[root@localhost etc]# systemctl start docker
#有些系统是service docker start
启动之后执行docker version可以看到客户端和服务端的相关信息,不启动的时候只能看到客户端的信息
[root@izwz92fbqxna6qt4ya9t4nz soft]# docker version Client: Version: 18.09.2 API version: 1.39 Go version: go1.10.6 Git commit: 6247962 Built: Sun Feb 10 04:13:27 2019 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 18.09.2 API version: 1.39 (minimum version 1.12) Go version: go1.10.6 Git commit: 6247962 Built: Sun Feb 10 03:47:25 2019 OS/Arch: linux/amd64 Experimental: false
7.检查docker是否启动成功:
[root@localhost etc]# ps -ef | grep docker root 28623 1 0 10:25 ? 00:00:06 /usr/bin/dockerd root 28632 28623 0 10:25 ? 00:00:04 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc root 29726 19746 0 11:24 pts/2 00:00:00 grep --color=auto docker
8.设置开机启动:
[root@localhost etc]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
官网通过运行hello-world
镜像验证是否正确安装了Docker CE 。
docker run hello-world
此命令下载测试镜像并在容器中运行它。当容器运行时,它会打印一条信息性消息并退出。注意,如果网络不好,可能不会一次成功,我搭建了2套环境,其中一套就是执行了很多次才成功