• Ubuntu16.04 Docker 安装


    前提条件

    Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 Ubuntu 版本是否支持 Docker。

    通过 uname -r 命令查看你当前的内核版本

    root@ranxf:/home/ranxf# uname -r
    4.13.0-38-generic

    使用脚本安装Docker

    root@ranxf:/home/ranxf# wget -qO- https://get.docker.com/ | sh

    下载脚本并且安装Docker及依赖包

    root@ranxf:/home/ranxf# wget -qO- https://get.docker.com/ | sh
    # Executing docker install script, commit: 92d5116
    + sh -c apt-get update -qq >/dev/null
    + sh -c apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
    + sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | apt-key add -qq - >/dev/null
    + sh -c echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial edge" > /etc/apt/sources.list.d/docker.list
    + [ ubuntu = debian ]
    + sh -c apt-get update -qq >/dev/null
    + sh -c apt-get install -y -qq --no-install-recommends docker-ce >/dev/null
    + sh -c docker version
    Client:
     Version:    18.04.0-ce
     API version:    1.37
     Go version:    go1.9.4
     Git commit:    3d479c0
     Built:    Tue Apr 10 18:20:32 2018
     OS/Arch:    linux/amd64
     Experimental:    false
     Orchestrator:    swarm
    
    Server:
     Engine:
      Version:    18.04.0-ce
      API version:    1.37 (minimum version 1.12)
      Go version:    go1.9.4
      Git commit:    3d479c0
      Built:    Tue Apr 10 18:18:40 2018
      OS/Arch:    linux/amd64
      Experimental:    false
    If you would like to use Docker as a non-root user, you should now consider
    adding your user to the "docker" group with something like:
    
      sudo usermod -aG docker your-user
    
    Remember that you will have to log out and back in for this to take effect!

    安装完成后有个提示:当要以非root用户可以直接运行docker时,需要执行 sudo usermod -aG docker runoob 命令,然后重新登陆

    WARNING: Adding a user to the "docker" group will grant the ability to run
             containers which can be used to obtain root privileges on the
             docker host.
             Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
             for more information.

    2、启动docker 后台服务

    root@ranxf:/home/ranxf# service docker start
    root@ranxf:/home/ranxf# 
    root@ranxf:/home/ranxf# ps -ef |grep docker
    root       474     1  0 14:28 ?        00:00:01 /usr/bin/dockerd -H fd://
    root       481   474  0 14:28 ?        00:00:01 docker-containerd --config /var/run/docker/containerd/containerd.toml
    root      2103 18769  0 14:41 pts/12   00:00:00 grep --color=auto docker
    root@ranxf:/home/ranxf# 

    3、测试运行hello-world

    root@ranxf:/home/ranxf# docker run hello-world
    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    9bb5a5d4561a: Pull complete 
    Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    
    To generate this message, Docker took the following steps:
     1. The Docker client contacted the Docker daemon.
     2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
        (amd64)
     3. The Docker daemon created a new container from that image which runs the
        executable that produces the output you are currently reading.
     4. The Docker daemon streamed that output to the Docker client, which sent it
        to your terminal.
    
    To try something more ambitious, you can run an Ubuntu container with:
     $ docker run -it ubuntu bash
    
    Share images, automate workflows, and more with a free Docker ID:
     https://hub.docker.com/
    
    For more examples and ideas, visit:
     https://docs.docker.com/engine/userguide/

    你可能想核对一下 docker 版本:

    root@ranxf:/home/ranxf# docker version
    Client:
     Version:    18.04.0-ce
     API version:    1.37
     Go version:    go1.9.4
     Git commit:    3d479c0
     Built:    Tue Apr 10 18:20:32 2018
     OS/Arch:    linux/amd64
     Experimental:    false
     Orchestrator:    swarm
    
    Server:
     Engine:
      Version:    18.04.0-ce
      API version:    1.37 (minimum version 1.12)
      Go version:    go1.9.4
      Git commit:    3d479c0
      Built:    Tue Apr 10 18:18:40 2018
      OS/Arch:    linux/amd64
      Experimental:    false

    现在,docker 已经安装在您的系统上。

    镜像加速:

    如果要配置 Docker 守护进程默认使用 Docker 官方镜像加速。可以在 Docker 守护进程启动时配置 --registry-mirror 参数。

    通过命令行启动Docker

    docker --registry-mirror=https://registry.docker-cn.com daemon

    通过配置文件启动Docker

    Docker 版本在 1.12 或更高

    修改 /etc/docker/daemon.json 文件并添加上 registry-mirrors 键值(没有该文件的话,请先建一个)。

    鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,如:网易的镜像地址

    {
        "registry-mirrors":["http://hub-mirror.c.163.com"]
    }

    从 Docker 库先下载 Docker Image 制作的容器。

    root@ranxf:/home/ranxf# docker run ubuntu:15.10 /bin/echo "Hello world"
    Unable to find image 'ubuntu:15.10' locally
    15.10: Pulling from library/ubuntu
    7dcf5a444392: Downloading [====================================>              ]  37.63MB/51.07MB
    759aa75f3cee: Download complete 
    7dcf5a444392: Pull complete 
    759aa75f3cee: Pull complete 
    3fa871dc8a2b: Pull complete 
    224c42ae46e7: Pull complete 
    Digest: sha256:02521a2d079595241c6793b2044f02eecf294034f31d6e235ac4b2b54ffc41f3
    Status: Downloaded newer image for ubuntu:15.10
  • 相关阅读:
    面试系列三 如何保证消息不被重复消费
    面试系列二 消息队列的高可用性
    面试系列一 消息队列
    springcloud系列15 bus的使用
    C++ 参数传值 与 传引用
    [转] 写给立志做码农的大学生
    Python format 格式化函数
    [3] TensorFlow 深层神经网络
    [2] TensorFlow 向前传播算法(forward-propagation)与反向传播算法(back-propagation)
    Python 闭包
  • 原文地址:https://www.cnblogs.com/ranxf/p/8867553.html
Copyright © 2020-2023  润新知