docker_在ubuntu上安装docker服务

来源:互联网 发布:linux 机器重启时间 编辑:程序博客网 时间:2024/05/18 14:26

系统是 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
    • https://askubuntu.com/questions/856493/install-docker-on-ubuntu-16-04-problem-with-linux-image-extra
  • 重启系统

    $ 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-worlddocker: 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-worldUnable to find image 'hello-world:latest' locallydocker: 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_相关操作.md

docker hub 镜像加速

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

参考资料

  • http://www.cnblogs.com/lighten/p/6034984.html
  • https://github.com/widuu/chinese_docker/blob/master/installation/ubuntu.md
  • https://zouyapeng.gitbooks.io/docker/content/DockerInstallation/ubuntu_16_04.html