首页 文章 Centos7下安装Docker及报错

Centos7下安装Docker及报错

发布时间:2019-05-30 16:08:14 作者:Soul-Yang 阅读量:838
我是虚拟机装的Centos7,linux 3.10 内核,docker官方说至少3.8以上,建议3.10以上(ubuntu下要linux内核3.8以上, RHEL/Centos 的内核修补过, centos6.5的版本就可以——这个可以试试

1,root账户登录,查看内核版本如下

[root@localhost ~]# uname -a
Linux localhost.qgc 3.10.0-862.11.6.el7.x86_64 #1 SMP Tue Aug 14 21:49:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

2,把yum包更新到最新(不要问我为什么)

复制代码
[root@localhost ~]# yum update
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.ustc.edu.cn
 * extras: mirrors.aliyun.com
 * updates: centos.ustc.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 bind-libs.x86_64.32.9.9.4-61.el7 将被 升级
---> 软件包 bind-libs.x86_64.32.9.9.4-61.el7_5.1 将被 更新
---> 软件包 bind-libs-lite.x86_64.32.9.9.4-61.el7 将被 升级
---> 软件包 bind-libs-lite.x86_64.32.9.9.4-61.el7_5.1 将被 更新
---> 软件包 bind-license.noarch.32.9.9.4-61.el7 将被 升级
---> 软件包 bind-license.noarch.32.9.9.4-61.el7_5.1 将被 更新
...
...

验证中 : 32:bind-license-9.9.4-61.el7.noarch 8/8

更新完毕:
bind-libs.x86_64 32:9.9.4-61.el7_5.1 
bind-libs-lite.x86_64 32:9.9.4-61.el7_5.1 
bind-license.noarch 32:9.9.4-61.el7_5.1 
bind-utils.x86_64 32:9.9.4-61.el7_5.1

完毕!
[root@localhost ~]#

复制代码

3,安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

复制代码
[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.ustc.edu.cn
 * extras: mirrors.aliyun.com
 * updates: centos.ustc.edu.cn
...
复制代码

4,设置yum源

复制代码
[root@localhost ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
已加载插件:fastestmirror, langpacks
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
复制代码

5,可以查看所有仓库中所有docker版本,并选择特定版本安装

复制代码
[root@localhost ~]# yum list docker-ce --showduplicates | sort -r
已加载插件:fastestmirror, langpacks
可安装的软件包
 * updates: centos.ustc.edu.cn
Loading mirror speeds from cached hostfile
 * extras: mirrors.aliyun.com
docker-ce.x86_64            18.06.1.ce-3.el7                    docker-ce-stable
docker-ce.x86_64            18.06.0.ce-3.el7                    docker-ce-stable
docker-ce.x86_64            18.03.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            18.03.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.12.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.12.0.ce-1.el7.centos             docker-ce-stable
...
复制代码

6,安装Docker,命令:yum install docker-ce-版本号,我选的是17.12.1.ce,如下

复制代码
[root@localhost ~]# yum install docker-ce-17.12.1.ce
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.ustc.edu.cn
 * extras: mirrors.aliyun.com
 * updates: centos.ustc.edu.cn
base                                                   | 3.6 kB     00:00     
docker-ce-stable                                       | 2.9 kB     00:00     
extras                                                 | 3.4 kB     00:00     
updates                                                | 3.4 kB     00:00     
正在解决依赖关系
--> 正在检查事务
---> 软件包 docker-ce.x86_64.0.17.12.1.ce-1.el7.centos 将被 安装
--> 正在处理依赖关系 container-selinux >= 2.9,它被软件包 docker-ce-17.12.1.ce-1.el7.centos.x86_64 需要
...
复制代码

7, 启动Docker,命令:systemctl start docker,然后加入开机启动,如下

[root@localhost ~]# systemctl start docker
[root@localhost ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

8,验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

复制代码
[root@localhost ~]# docker version 
Client:
 Version:    17.12.1-ce
 API version:    1.35
 Go version:    go1.9.4
 Git commit:    7390fc6
 Built:    Tue Feb 27 22:15:20 2018
 OS/Arch:    linux/amd64
Server: Engine: Version:
17.12.1-ce API version: 1.35 (minimum version 1.12) Go version: go1.9.4 Git commit: 7390fc6 Built: Tue Feb 27 22:17:54 2018 OS/Arch: linux/amd64 Experimental: false

2.安装 docker-compose

利用pip(python)方式进行安装

安装pip

虽然很简单,还是有URL确认,x权限设定等需要做,如果使用pip进行安装虽然看似绕远,实质上也是绕远,安装来一看吧。CentOS上需要先行安装yum的一个额外的包,这个包里面才有python-pip,缺省的没有。

  1. [root@host32 ~]# yum -y install epel-release
  2. [root@host32 ~]# yum -y install python-pip

  1. [root@host32 ~]# pip --version
  2. pip 7.1.0 from /usr/lib/python2.7/site-packages (python 2.7)

升级pip为最新

     pip install --upgrade pip


接下来就是安装docker-compose

[root@host32 ~]# pip install docker-compose

   报错 

Traceback (most recent call last):

File “/usr/bin/docker-compose”, line 6, in 

from compose.cli.main import main

File “/usr/lib/python2.7/site-packages/compose/cli/main.py”, line 17, in 

import docker

File “/usr/lib/python2.7/site-packages/docker/init.py”, line 2, in 

from .api import APIClient

File “/usr/lib/python2.7/site-packages/docker/api/init.py”, line 2, in 

from .client import APIClient

File “/usr/lib/python2.7/site-packages/docker/api/client.py”, line 10, in 

from .build import BuildApiMixin

File “/usr/lib/python2.7/site-packages/docker/api/build.py”, line 6, in 

from … import auth

File “/usr/lib/python2.7/site-packages/docker/auth.py”, line 9, in 

from .utils import config

File “/usr/lib/python2.7/site-packages/docker/utils/init.py”, line 3, in 

from .decorators import check_resource, minimum_version, update_headers

File “/usr/lib/python2.7/site-packages/docker/utils/decorators.py”, line 4, in 

from . import utils

File “/usr/lib/python2.7/site-packages/docker/utils/utils.py”, line 13, in 

from … import tls

File “/usr/lib/python2.7/site-packages/docker/tls.py”, line 5, in 

from .transport import SSLHTTPAdapter

File “/usr/lib/python2.7/site-packages/docker/transport/init.py”, line 11, in 

from .sshconn import SSHHTTPAdapter

File “/usr/lib/python2.7/site-packages/docker/transport/sshconn.py”, line 1, in 

import paramiko

File “/usr/lib/python2.7/site-packages/paramiko/init.py”, line 22, in 

from paramiko.transport import SecurityOptions, Transport

File “/usr/lib/python2.7/site-packages/paramiko/transport.py”, line 38, in 

from paramiko.auth_handler import AuthHandler

File “/usr/lib/python2.7/site-packages/paramiko/auth_handler.py”, line 72, in 

from paramiko.ssh_gss import GSSAuth, GSS_EXCEPTIONS

出现问题:


File “/usr/lib/python2.7/site-packages/paramiko/ssh_gss.py”, line 55, in 

GSS_EXCEPTIONS = (gssapi.GSSException,)

AttributeError: ‘module’ object has no attribute ‘GSSException’***

解决方法:

修改/usr/lib/python2.7/site-packages/paramiko目录下ssh_gss.py文件,

修改53,54行

修改为:

53 import gssapi.error

54 GSS_EXCEPTIONS = (gssapi.error.GSSException,)


[root@host32 ~]# pip install docker-compose

出现下面信息为成功

docker-compose version 1.24.0, build 0aa5906

docker-py version: 3.7.2 CPython version: 2.7.5 OpenSSL version: OpenSSL 1.0.2k-fips 26 Jan 2017
























  
留言
https://blog.key9.cn/
用户登录
您还没有写任何评论内容!
您已经评论过了!
只能赞一次哦!
您已经收藏啦!