系统是 Ubuntu 16.04,xenial


安装docker

  • 升级包管理器

    $ sudo apt-get update
  • 安装docker前需要安装相关的Linux包

    $ sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual
    或者
    $ sudo apt-get install linux-image-generic-lts-xenial
  • 重启系统

    $ sudo reboot
  • 安装 https 请求工具,不然无法获取到 docker-engine

    $ sudo apt-get install apt-transport-https ca-certificates
    $ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D # 添加GPG key
  • 添加一个源文件,里面添加docker源

    $ sudo vi /etc/apt/sources.list.d/docker.list
    
    
    # 加入一下内容(xenial 当前系统对应的版本,这里是 16.04)
    
    deb https://apt.dockerproject.org/repo ubuntu-xenial main

    再更新一下

    $ sudo apt-get update
  • 安装docker

    $ sudo apt-get install docker-engine
  • 启动docker服务

    $ sudo service docker start
  • 测试一下

    $ sudo docker run hello-world

    这里写图片描述

    这里会优先从本地运行镜像,如果没有则中远端pull下来,这里报了个连接远端超时的错误,据说是 的原因,参照下面的 [docker hub 镜像加速](#docker hub 镜像加速)


添加docker组,不适用sudo命名

  • 如果不使用 sudo 命令 run docker 实例会报错

    wilker@ubuntu:~$ docker run hello-world
    docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.29/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
    See 'docker run --help'.
  • 装完docker后默认会有增加一个 docker 组,再次添加会提醒 already has xxx,不用管

    将当前用户添加进 docker 组,并重启 docker 服务

    $ sudo groupadd docker
    $ sudo gpasswd -a ${USER} docker
    $ sudo service docker restart
  • 注销当前用户,重新登陆

  • 然后再次进入系统,启动服务后就不需要 sudo 了

    wilker@ubuntu:~$ sudo service docker start
    [sudo] password for wilker: 
    wilker@ubuntu:~$ docker run hello-world
    Unable to find image 'hello-world:latest' locally
    docker: Error response from daemon: Get https://registry-1.docker.io/v2/library/hello-world/manifests/latest: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Fhello-world%3Apull&service=registry.docker.io: net/http: TLS handshake timeout.
    See 'docker run --help'.

docker 操作


docker hub 镜像加速

  • [docker hub镜像加速.md](./docker hub镜像加速.md)

参考资料

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐