zoukankan      html  css  js  c++  java
  • 【Docker】Docker学习笔记:安装部署

    Docker 是实现轻量级的操作系统虚拟化解决方案。 Docker目前已经支持非常多的Linux平台,Ubuntu、Red Hat企业版Linux、Debian、CentOs、Fedora、Oracle Linux等。如果使用虚拟环境,甚至可以在OS X 和 windows中运行。

    安装的条件

    • Docker目前只能在64位CPU架构的计算机上运行(目前只能是x86_64 、amd64)。
    • Linux 3.8 或 更高版本的内核。3.8之前的版本也能运行,但效果不同,遇到问题时大家都建议你升级。
    • 内核必须支持一些适合的存储驱动(strage drive),例如:
    • Device Manage
    • AUFS
    • vfs
    • btrfs
    • 默认存储驱动通常是Device
    • 内核必须支持并开启cgroup和命名空间(banespace)功能

    Ubuntu

    通过系统自带包安装

    Ubuntu 14.04 版本系统中已经自带了 Docker 包,可以直接安装。

    • 更新最新内核,如果是比较老的内核,在运行期间可能会出现一些功能不支持。

    sudo apt-get update
    sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring

    • 安装完成,重启

    sudo reboot

    • 直接安装本地docker.io包

    sudo apt-get install -y docker.io
    sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
    sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io

    通过Docker源安装最新版本

    使用系统自带的docker安装包安装的版本比较低,为0.9.1,需要安装最新的版本则,则可通过docker源安装。

    • 更新最新内核。

    sudo apt-get update
    sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring

    • 安装完成,重启

    sudo reboot

    • 首先要安装apt-transport-https支持

    sudo apt-get install apt-transport-https

    • 添加docker源安装

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
    sudo bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
    sudo apt-get update
    sudo apt-get install lxc-docker

    CentOS

    因为selinux和LXC有冲突,所以需要禁用

    /etc/selinux/config
    SELINUX=disabled

    更新内核

    docker必须得内核3.8以上才能运行,所有在安装之前先检查内核版本是否够高。如果不够高则先进行内核升级。

    1. centos7
      centos7更新内核比较简单,执行yum update kernel -y即可。
    1. centos6.x
      导入key
      rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
      安装elrepo的yum源
      rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
      安装内核
      yum --enablerepo=elrepo-kernel -y install kernel-lt kernel-lt-devel
      修改grub.conf默认选择默认启动内核
      sed -i "s/default=1/default=0/g" /etc/grub.conf
      系统中有两个grub.conf。/boot/grub下的也修改下
      sed -i "s/default=1/default=0/g" /boot/grub/grub.conf
      重启
      reboot

    自带包安装

    CentnOS7中已带Docker,直接安装即可,但版本不一定最新,建议使用EPEL安装

    sudo yum install docker

    使用EPEL库安装Docker

    • centos6.X

    sudo yum install http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm

    • centos7.X

    sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

    sudo yum install docker-io

    OSX

    由于Docker使用了Linux-specific内核特定,所以在Mac OS X无法直接本地运行。但是可以通过安装Boot2Docker application实现。Boot2Docker包含了Virtual Box VM,Docker和Boot2Docker管理工具。

    在Mac上运行Docker需要一台虚拟机的帮助,Docker Client运行在本地,Docker Daemon运行在虚拟机中,Boot2Docker作为一个管理工具在本地运行。

    安装brew

    Boot2Docker可以通过brew来安装比较方便,自动解决依赖。安装命令如下:

    curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1
    

    安装Boot2Docker

    通过brew安装
    brew install boot2docker
    

    安装过程中需要安装go语言包,需要FQ。

    直接安装

    git下载到最新版boot2docker.pkg进行安装即可。

    初始化docker

    $ boot2docker init
    

    看到如图的结果说明更新成功

    $ boot2docker up
    

    看到如图的结果说明启动成功,按照提示设置环境变量

    $(boot2docker shellinit)

    到这里如果没有报错,说明安装成功,可以愉快的玩耍了。

    网络问题解决

    由于mac下是通过boot2docker运行,所以不能直接修改/etc/default/docker中的DOCKER_OPTS来进行Docker Hub Mirror机制,在mac下需要通过以下方式来解决。

    boot2docker ssh sudo su echo "EXTRA_ARGS="--registry-mirror=http://f2d6cb40.m.daocloud.io"" >> /var/lib/boot2docker/profile && exit exit boot2docker restart

    遇到的问题

    开源产品一大特点就是就是坑多,在ubuntu和osx上基本上没有遇到坑,在centos上面遇到的坑比较多。
    首先在启动时报一个错Usage of loopback devices is strongly discouraged for production use. Either use --storage-opt dm.thinpooldevor use--storage-opt dm.no_warn_on_loop_devices=true to suppress this warning. 网友提示升级到最新版本即可,于是采用wget https://get.docker.io/builds/Linux/x86_64/docker-latest -O docker && mv -f docker /usr/bin/docker && chmod +x /usr/bin/docker来升级

    启动Docker

    sudo service docker start

    启动成功以后,可以通过info命令查看docker信息

    参考

    Docker中文指南
    Docker从入门到实践
    Docker入门实践
    docker读书笔记

    以上内容通过参考网上相关博客和自己实践整理,若有问题,欢迎指正、讨论!

  • 相关阅读:
    【今日CV 视觉论文速览】 19 Nov 2018
    【numpy求和】numpy.sum()求和
    【今日CV 视觉论文速览】16 Nov 2018
    【今日CV 视觉论文速览】15 Nov 2018
    poj 2454 Jersey Politics 随机化
    poj 3318 Matrix Multiplication 随机化算法
    hdu 3400 Line belt 三分法
    poj 3301 Texas Trip 三分法
    poj 2976 Dropping tests 0/1分数规划
    poj 3440 Coin Toss 概率问题
  • 原文地址:https://www.cnblogs.com/zhiqli/p/4945872.html
Copyright © 2011-2022 走看看