美文网首页
Docker-2 docker安装

Docker-2 docker安装

作者: Habit_1027 | 来源:发表于2020-05-19 09:36 被阅读0次

    CentOS 7 中 Docker 的安装:

    Docker 软件包已经包括在默认的 CentOS-Extras 软件源(联网使用centos7u2自带网络Yum源)里。因此想要安装 docker,只需要运行下面的 yum 命令:

    # yum install -y epel*
    # yum install docker
    启动 Docker 服务:
    # service docker start
    # chkconfig docker on
    CentOS 7    
    # systemctl start docker.service
    # systemctl enable docker.service 
    

    确定docker服务在运行:

    结果会显示服务端和客户端的版本,如果只显示客户端版本说明服务没有启动

    # docker version
    
    Client:
    Version:         1.10.3
    API version:     1.22
    ...
    

    docker版本与官方安装方式

    moby、docker-ce与docker-ee

    最早时docker是一个开源项目,主要由docker公司维护。

    2017年3月1日起,docker公司将原先的docker项目改名为moby,并创建了docker-ce和docker-ee。

    三者关系:

    moby是继承了原先的docker的项目,是社区维护的的开源项目,谁都可以在moby的基础打造自己的容器产品
    
    docker-ce是docker公司维护的开源项目,是一个基于moby项目的免费的容器产品
    
    docker-ee是docker公司维护的闭源产品,是docker公司的商业产品
    

    ​ moby project由社区维护,docker-ce project是docker公司维护,docker-ee是闭源的docker公司维护。

    CentOS--官方安装

    如果是centos,上面的安装命令会在系统上添加yum源:/etc/yum.repos.d/docker-ce.repo 
    # wget https://download.docker.com/linux/centos/docker-ce.repo
    # mv docker-ce.repo /etc/yum.repos.d
    # yum install -y docker-ce
    

    ​ 或者直接下载rpm安装:

    # wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm
    
    # yum localinstall docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm
    

    国内源安装新版docker

    使用aliyun docker yum源安装新版docker

    删除已安装的Docker

     [root@yixuan ~]# yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-selinux \
    docker-engine-selinux \
    docker-engine
    

    配置阿里云Docker Yum源

    # yum install -y yum-utils device-mapper-persistent-data lvm2 git
    # yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    

    安装指定版本

     查看Docker版本:
    # yum list docker-ce --showduplicates
    

    ​ 安装较旧版本(比如Docker 17.03.2) :

    ​ 需要指定完整的rpm包的包名,并且加上--setopt=obsoletes=0 参数:

    # yum install -y --setopt=obsoletes=0 \
    docker-ce-17.03.2.ce-1.el7.centos.x86_64 \
    docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch
    

    安装Docker新版本(比如Docker 18.03.0):加上rpm包名的版本号部分或不加都可以:

    # yum install docker-ce-18.03.0.ce  -y
    或者
    [root@yixuan ~]# yum install -y docker-ce
    

    启动Docker服务:

    #systemctl enable docker
    #systemctl start docker
    

    查看docker版本状态:

    [root@yixuan ~]# docker -v
    Docker version 19.03.2, build 6a30dfc
    
    [root@yixuan ~]# docker version
    Client: Docker Engine - Community
     Version:           19.03.2
     API version:       1.40
     Go version:        go1.12.8
     Git commit:        6a30dfc
     Built:             Thu Aug 29 05:28:55 2019
     OS/Arch:           linux/amd64
     Experimental:      false
    
    Server: Docker Engine - Community
     Engine:
      Version:          19.03.2
      API version:      1.40 (minimum version 1.12)
      Go version:       go1.12.8
      Git commit:       6a30dfc
      Built:            Thu Aug 29 05:27:34 2019
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.2.6
      GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
     runc:
      Version:          1.0.0-rc8
      GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
     docker-init:
      Version:          0.18.0
      GitCommit:        fec3683      
    

    查看docker运行状态:

    # docker info
    Containers: 0
    Running: 0
    Paused: 0
    Stopped: 0
    Images: 0
    ...
    

    =======================================================

    报错1:
    
    docker info的时候报如下错误
    
    bridge-nf-call-iptables is disabled
    
     
    
    解决1:
    
    追加如下配置,然后重启系统
    
    # vim /etc/sysctl.conf   
    
    net.bridge.bridge-nf-call-ip6tables = 1
    
    net.bridge.bridge-nf-call-iptables = 1
    
    net.bridge.bridge-nf-call-arptables = 1
    
     
    
    问题2:
    
    虚拟机ping百度也能ping通,但是需要等好几秒才出结果,关键是下载镜像一直报错如下
    
     # docker pull daocloud.io/library/nginx
    
     Using default tag: latest
    
     Error response from daemon: Get https://daocloud.io/v2/: dial tcp: lookup daocloud.io on 192.168.1.2:53: read udp   192.168.1.189:41335->192.168.1.2:53: i/o timeout
    
     
    
    解决2:
    
    我的虚拟机用的网关和dns都是虚拟机自己的.1或者.2,把DNS改成8.8.8.8问题就解决了,ping百度也秒出结果
    
     # vim /etc/resolv.conf
    
     nameserver 8.8.8.8
    

    简单测试

    运行一个容器
    [root@192 ~]# docker run -it daocloud.io/library/ubuntu /bin/bash #运行容器
    Unable to find image 'daocloud.io/library/ubuntu:latest' locally
    latest: Pulling from library/ubuntu
    5c939e3a4d10: Pull complete 
    c63719cdbe7a: Pull complete 
    19a861ea6baf: Pull complete 
    651c9d2d6c4f: Pull complete 
    Digest: sha256:bc025862c3e8ec4a8754ea4756e33da6c41cba38330d7e324abd25c8e0b93300
    Status: Downloaded newer image for daocloud.io/library/ubuntu:latest
    
    如果自动进入下面的容器环境,说明ubuntu镜像运行成功,Docker的安装也没有问题:可以操作容器了
    root@db8e84e2ea96:/# 
    

    相关文章

      网友评论

          本文标题:Docker-2 docker安装

          本文链接:https://www.haomeiwen.com/subject/hrsvohtx.html