• ubuntu安装docker{ubuntu16.04下安装docker}


       一、开始安装

     第一步:   由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:

    $ sudo apt-get remove docker docker-engine docker-ce docker.io


     第二步、更新apt包索引:

                    $ sudo apt-get update

    第三步、  安装以下包以使apt可以通过HTTPS使用存储库(repository):

                   $ sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

    第四步、 添加Docker官方的GPG密钥:

                    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

     第五步: 使用下面的命令来设置stable存储库:

                    $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

    第六步:     再更新一下apt包索引:

                    $ sudo apt-get update

     第七步:    安装最新版本的Docker CE:

                    $ sudo apt-get install -y docker-ce

        在生产系统上,可能会需要应该安装一个特定版本的Docker CE,而不是总是使用最新版本:

    第八步:列出可用的版本:
                $ apt-cache madison docker-ce
    选择要安装的特定版本,第二列是版本字符串,第三列是存储库名称,它指示包来自哪个存储库,以及扩展它的稳定性级别。要安装一个特定的版本,将版本字符串附加到包名中,并通过等号(=)分隔它们:

    $ sudo apt-get install docker-ce=<VERSION> 


    验证docker

        查看docker服务是否启动:

    $ systemctl status docker

        1

        若未启动,则启动docker服务:

    $ sudo systemctl start docker

        1

        经典的hello world:

    $ sudo docker run hello-world




    二、运行报错:解决方案


    昨天在使用docker 时,将 image 文件从仓库抓取到本地一直报错,经过尝试,终于得以解决。

    错误信息如下:

    [root@archlinux ~]# docker image pull library/hello-world 
    Using default tag: latest 
    Error response from daemon: Get https://registry-1.docker.io/v2/library/hello-world/manifests/latest: dial tcp 52.20.146.203:443: i/o timeout

    或者:

    [root@archlinux quanxj]# docker image pull library/hello-world 
    Using default tag: latest 
    latest: Pulling from library/hello-world 
    ca4f61b1923c: Pull complete 
    error pulling image configuration: Get https://registry-1.docker.io/v2/library/hello-world/blobs/sha256:f2a91732366c0332ccd7afd2a5c4ff2b9af81f549370f7a19acd460f87686bc7: dial tcp 35.169.231.249:443: i/o timeout

    解决方法如下:
    第一步:通过dig @114.114.114.114 registry-1.docker.io找到可用IP

    [root@archlinux ~]# dig @114.114.114.114 registry-1.docker.io 
    ; <<>> DiG 9.12.0 <<>> @114.114.114.114 registry-1.docker.io 
    ; (1 server found) 
    ;; global options: +cmd 
    ;; Got answer: 
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37534 
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 1 
    ;; OPT PSEUDOSECTION: 
    ; EDNS: version: 0, flags:; udp: 4096 
    ; COOKIE: 88f87a15f4ca45dc (echoed) 
    ;; QUESTION SECTION: 
    ;registry-1.docker.io. IN A 
    ;; ANSWER SECTION: 
    registry-1.docker.io. 30 IN A 34.200.28.105 
    registry-1.docker.io. 30 IN A 52.22.181.254 
    registry-1.docker.io. 30 IN A 35.169.231.249 
    registry-1.docker.io. 30 IN A 52.5.185.86 
    registry-1.docker.io. 30 IN A 54.164.230.151 
    registry-1.docker.io. 30 IN A 34.200.90.16 
    registry-1.docker.io. 30 IN A 52.20.146.203 
    registry-1.docker.io. 30 IN A 52.206.156.207 
    ;; Query time: 116 msec 
    ;; SERVER: 114.114.114.114#53(114.114.114.114) 
    ;; WHEN: 四 3月 08 09:27:12 CST 2018 
    ;; MSG SIZE rcvd: 189

    第二步:尝试修改/etc/hosts强制docker.io相关的域名解析到其它可用IP

    vim /etc/hosts
    • 1

    添加一个可用IP:

    52.5.185.86 registry-1.docker.io
    • 1

    保存之后重试:

    [root@archlinux quanxj]# docker image pull library/hello-world 
    Using default tag: latest 
    latest: Pulling from library/hello-world 
    ca4f61b1923c: Already exists 
    Digest: sha256:083de497cff944f969d8499ab94f07134c50bcf5e6b9559b27182d3fa80ce3f7 
    Status: Downloaded newer image for hello-world:latest

    验证:

    [root@archlinux quanxj]# docker image ls 
    REPOSITORY TAG IMAGE ID CREATED SIZE 
    hello-world latest f2a91732366c 3 months ago 1.85kB


    三、如果还不行,则用如下方法:

    [root@teddy /]# docker search ubuntu
    Error response from daemon: Get https://index.docker.io/v1/search?q=ubuntu: read tcp 52.200.132.201:443: i/o timeout


    docker在中国已经有了仓库:https://www.docker-cn.com/registry-mirror


    根据上面网站提供的修改方法。


    进入/etc/docker

    查看有没有 daemon.json。这是docker默认的配置文件。

    如果没有新建touch daemon.json,如果有,则修改。


    [root@teddy docker]# vi daemon.json
    {
      "registry-mirrors": ["https://registry.docker-cn.com"]
    }

    保存退出。


    重启docker服务

    service docker restart

    成功!


    [root@teddy docker]# docker search ubuntu
    NAME                               DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
    ubuntu                             The official build of ubuntu.                   3732      [OK]       
    ansible/ubuntu-ansible            Ansible on ubuntu                              102                  [OK]
    jdeathe/ubuntu-ssh                 ubuntu-6 6.9 x86_64 / ubuntu 7.4.1708 x8...   87                   [OK]
    tutum/ubuntu                       Simple ubuntu docker image with SSH access      33                   
    imagine10255/ubuntu6-lnmp-php56    ubuntu6-lnmp-php56                              31                   [OK]
    gluster/gluster-ubuntu             Official GlusterFS Image [ ubuntu +  Glu...   20                   [OK]
    kinogmt/ubuntu-ssh                 ubuntu with SSH                                 17                   [OK]
    ubuntu/php-56-ubuntu              Platform for building and running PHP 5.6 ...   10                   
    openshift/base-ubuntu             A ubuntu derived base image for Source-To...   10                   
    ubuntu/python-35-ubuntu           Platform for building and running Python 3...   9                    
    openshift/mysql-55-ubuntu         DEPRECATED: A ubuntu based MySQL v5.5 ima...   6                    
    openshift/jenkins-2-ubuntu        A ubuntu based Jenkins v2.x image for use...   5                    
    openshift/ruby-20-ubuntu          DEPRECATED: A ubuntu based Ruby v2.0 imag...   3                    
    darksheer/ubuntu                   Base ubuntu Image -- Updated hourly             3                    [OK]
    indigo/ubuntu-maven                Vanilla ubuntu 7 with Oracle Java Developm...   1                    [OK]
    openshift/php-55-ubuntu           DEPRECATED: A ubuntu based PHP v5.5 image...   1                    
    pivotaldata/ubuntu-gpdb-dev        ubuntu image for GPDB development. Tag nam...   1                    
    pivotaldata/ubuntu-mingw           Using the mingw toolchain to cross-compile...   1                    
    miko2u/ubuntu6                     ubuntu6 日本語環境                                   1                    [OK]
    blacklabelops/ubuntu               ubuntu Base Image! Built and Updates Daily!     1                    [OK]
    smartentry/ubuntu                  ubuntu with smartentry                          0                    [OK]
    pivotaldata/ubuntu                 Base ubuntu, freshened up a little with a ...   0                    
    openshift/wildfly-101-ubuntu     A ubuntu based WildFly v10.1 image for us...   0                    
    jameseckersall/sonarr-ubuntu       Sonarr on ubuntu 7                              0                    [OK]
    pivotaldata/ubuntu-gcc-toolchain   ubuntu with a toolchain, but unaffiliated ...   0                    
    [root@teddy docker]#







  • 相关阅读:
    Activiti系列——如何在eclipse中安装 Activiti Designer插件
    C语言 二维数组与指针笔记
    Ubuntu linux设置从当前目录下加载动态库so文件
    Ubuntu14.04安装nfs服务器
    Ubuntu14.04 搭建FTP服务器
    Linux备忘命令
    Java实现对xml文件的增删改查
    Java利用jacob实现打印Excel文件
    git操作列表
    swiper 窗口宽度变化,页面宽度高度变化 导致自动滑动 解决方案
  • 原文地址:https://www.cnblogs.com/1314520xh/p/10468316.html
Copyright © 2020-2023  润新知