美文网首页
Ubuntu14.04安装Docker

Ubuntu14.04安装Docker

作者: 0过把火0 | 来源:发表于2018-01-17 20:45 被阅读761次

    前段时间参加了EMC Hackathon 2018,取得第二名的成绩,短短几天内接触了很多新的东西,其中就包含Docker的相关内容。抽空陆续总结一下比赛中的东西。
    比赛连接:https://github.com/ghostplant/Hackathon_2018


    Docker安装

    • 默认安装好了Linux系统。这里使用Ubuntu14.04.

    安装步骤

    1、首先使用root来登录ubuntu
    2、是否安装了wget,如果没安装使用如下命令:
    sudo apt-get update
    sudo apt-get install wget
    3、获取最新版的docker:
    wget -qO- https://get.docker.com/ | sh
    4、验证是否安装正确
    sudo docker run hello-world
    就是获取一个helloworld的image,然后运行会看到 helloworld welcome等


    • 上面是基础的安装,下面是一些优化的操作:

    1、权限问题 >>>两种方法
    docker 进程通过监听一个 Unix Socket 来替代 TCP 端口。在默认情况下,docker 的 Unix Socket属于root用户,当然其他用户可以使用sudo方式来访问。因为这个原因, docker 进程就一直是root用户运行的。
    因此为了方便起见,不用每次都登录root输入密码,可以作如下:

    创建 docker 用户组并添加用户
    1)使用具有sudo权限的用户来登录你的Ubuntu。
    2)创建 docker 用户组并添加用户:$ sudo usermod -aG docker ubuntu
    3)销登录并重新登录
    4)验证 docker 用户不使用 sudo 命令开执行 Docker:$ docker run hello-world

    方法二
    1)# 添加一个新的docker用户组:sudo groupadd docker
    2)# 添加当前用户到docker用户组里,注意这里的king为ubuntu登录用户名
    sudo gpasswd -a king docker
    3)# 重启Docker后台监护进程:sudo service docker restart
    4)# 重启之后,尝试一下,是否生效:docker version
    5)#若还未生效,则系统重启,则生效:sudo reboot

    2、调整内存和交换空间

    当我们使用 Docker 运行一个镜像的时候,我们可能会看到如下的信息提示:

    WARNING: Your kernel does not support cgroup swap limit. WARNING: Your
    kernel does not support swap limit capabilities. Limitation discarded.
    

    为了防止以上错误信息提示的出现,我们需要在系统中启用内存和交换空间。我们需要修改系统的 GUN GRUB (GNU GRand Unified Bootloader) 来启用内存和交换空间。开启方法如下:

    1)使用具有sudo权限的用户来登录你的Ubuntu。
    2)编辑 /etc/default/grub 文件
    3)设置 GRUB_CMDLINE_LINUX 的值如下:
        GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
    4)保存和关闭文件
    5)更新 GRUB
        $ sudo update-grub
    6)重启系统。
    

    3、防火墙问题

    UB中的防火墙是UFW而不是iptables
    防火墙会对一些端口进行过滤,因此需要进行docker端口的防火墙入站规则设置:

    1)使用具有sudo权限的用户来登录你的Ubuntu。
    2)验证UFW的安装和启用状态
        $ sudo ufw status
    3)打开和编辑/etc/default/ufw文件
        $ sudo nano /etc/default/ufw
    4)设置 DEFAULT_FORWARD_POLICY 如下:
        DEFAULT_FORWARD_POLICY="ACCEPT"
    5)保存关闭文件。
    6)重新加载UFW来使新规则生效。
        $ sudo ufw reload
    7)允许 Docker 端口的入站规则
        $ sudo ufw allow 2375/tcp
    

    4、DNS问题
    设置docker自己的DNS,而不是使用主机中的默认的192或是127等作为DNS:
    在桌面环境下使用这些配置来运行 docker 容器的时候, Docker 用户会看到如下的警告:

        WARNING: Local (127.0.0.1) DNS resolver found in resolv.conf and containers can't use it. Using default external servers : [8.8.8.8 8.8.4.4]
    

    该警告是因为 Docker 容器不能使用本地的DNS服务。相反 Docker 使用一个默认的外部域名服务器。

    为了避免此警告,你可以给 Docker 容器指定一个DNS服务器。或者你可以禁用 NetworkManager 的 dnsmasq。不过当禁止 dnsmasq 可能使某些网络的DNS解析速度变慢。

    为 Docker 指定一个DNS服务器:

    1)使用具有sudo权限的用户来登录你的Ubuntu。
    2)打开并编辑 /etc/default/docker
        $ sudo vim /etc/default/docker
    3)添加设置
        DOCKER_OPTS="--dns 8.8.8.8"
    

    使用8.8.8.8替换如192.168.1.1的本地DNS服务器。你可以指定多个DNS服务器,多个DNS服务器使用空格分割例如

        --dns 8.8.8.8 --dns 8.8.4.4
    

    推荐使用国内镜像源:

    DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com"
    

    警告:如果你正在使用的电脑需要连接到不同的网络,一定要选择一个公共DNS服务器。
    4)保存关闭文件。
    5)重启 Docker 进程:$ sudo restart docker

    5)升级Docker

    $ wget -N https://get.docker.com/ | sh
    

    相关文章

      网友评论

          本文标题:Ubuntu14.04安装Docker

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