• LearningDocker!!


    下载与安装

    我们已经初步了解了Docker能为我们提供怎样的帮助,下面我们开始正式接触Docker。在这一章,我们要学习怎样在你的开发环境、测试环境和发布环境下安装Docker引擎。Docker的设计目标是让你的应用能做任何平台运行。但是,至少在现在,Docker在一些平台上安装并不简单。更重要的是,虽然Docker已经发布了正式版,但任然处于高频度更新期。很多平台对最新版本Docker的支持往往不够及时。目前(2014年8月)Docker的最新版本是1.2.0,我将会尽可能跟上Docker的升级步伐,同步更新本章的内容。

    如果读者在安装过程中出现问题,请将Windows版本信息连同出错提示发到github的问题。我们将努力为读者解决问题。

    Windows环境下安装Docker

    安装包的组成

    Docker引擎核心是运行在Linux操作系统上的Linux容器。所以,要在Windows上使用Docker容器,先要提供Linux运行环境。Docker工程师选择使用VirtualBox虚拟机,并为Docker引擎核心定制了一个Linux OS内核(boot2docker ISO)。boot2docker ISO完全运行在内存中,只有20几兆的大小。他们在测试环境下,启动这个内核只需要5秒钟。有趣的是boot2docker是通过Docker的构造脚本生成的,无意间出现了“鸡生蛋还是蛋生鸡”的经典问题。boot2docker的构造脚本非常典型,在后面的章节,我们会详细学习这段构造脚本。除了boot2docker的Linux OS内核,Docker工程师还提供了一个将内核加载到VirtualBox虚拟机,并提供命令行接入的工具(boot2docker_cli)。boot2docker_cli使用go语言编写,项目托管在github上,有兴趣的同学可以从github.com下载源码。由于docker的资源下载与同步使用了git,Ducker工程师非常贴心的为大家把msys-git(windows下的免费git客户端)加入到安装包中。同时msys-git集成了mingw,在windows上提供了类Linux命令行环境。

    准备

    Docker项目组只在Windows7.1和Windows8上对boot2docker的windows版进行了测试,其他早期版本也许会有问题。毕竟安装包里包含了VirtualBox和msys-git,这些软件在老版本Windows上的支持本就不太充分。此外,Docker目前对32位系统并没有提供充分支持,虽然有不少牛人在尝试用各种方法在32位系统上使用Docker,但我们还是建议读者先升级到64位系统,毕竟Docker的大部分资源都是64位系统。如果读者一定要在32位系统上使用虚拟化容器,目前来说,Docker不是一个很好的选择。

    除了要注意Windows版本的兼容性,Docker对CPU的虚拟化支持也有所要求。在前面章节,我们已经了解到虚拟化技术分为:全虚拟化、半虚拟化和硬件辅助虚拟化。而为了达到理想的虚拟化效果,现在大部分虚拟化产品都需要CPU对虚拟化进行支持。

    如果你已经安装了VirtualBox或者msys-git,并且这些软件涉及到的数据很重要,我们建议你最好先对数据进行备份。安装包中的VirtualBox版本是4.3.10,msys-git的版本是1.9.0。如果你使用的版本比这个老,我们建议你使用安装包中的版本,否则可能会在后面的安装和使用中出现问题。

    全新安装

    1. 下载安装包

      boot2docker的windows安装包可以从github上下载,连接地址是:https://github.com/boot2docker/windows-installer/releases。下载编译后的安装程序(docker-install.exe)。

    2. 安装

      双击安装包(docker-install.exe),启动安装程序。 安装过程由一组向导组成,第一个页面如图:

      在这里,安装向导建议我们关闭所有其他应用程序。如果没有特殊需要,最好能关闭其他应用,特别注意,如果你已经安装了VirtualBox或者msys-git,并且希望在后面进行升级,必须要关闭原有VirtualBox或msys-git程序。否则在安装过程中将会出现下图的警告:

      下一步,选择boot2docker的安装路径,如图:

      如果没有什么特殊的原因,这里选择使用默认路径。接下来,选择需要安装的组件,如图:

      我们建议你尽量使用安装包中的VirtualBox和msys-git。这里,我们选择全部安装。接下来,选择boot2docker在开始菜单中的组名称,如图:

      建议使用默认设置。接下来,设置是否将boot2docker加入到环境变量PATH中,如图:

      将boot2docker加入到环境变量PATH中,方便通过命令行窗口启动boot2docker。虽然,我们通常使用快捷方式启动boot2docker,但是,如果没有特殊原因,这里还是选择将boot2docker加入到环境变量PATH中。 最后,安装向导会将之前的选择总结成列表,如图:

      点击“install”,开始安装boot2docker。在安装VirtualBox的过程中,Windows系统会提示你安装程序希望安装一些驱动软件,如图:

      全部点击“安装”按钮。boot2docker安装完成后需要重新启动电脑,如图:

      选择“Yes”,重启电脑。

    3. 运行

      安装完成后,你可以在桌面上找到boot2docker的快捷方式图标,如图:

      双击图标,启动boot2docker。首次启动,boot2docker需要创建虚拟机环境,需要一些时间,你可以通过Log信息了解启动的过程。启动完成后,你就可以在命令行界面使用docker了,如图:

      至此,我们已经成功的在Windows操作系统上安装了Docker运行环境。

    MacOS环境下安装Docker

    安装包的组成

    与boot2docker的Windows安装包一样,boot2docker的MacOS安装包包含了VirtualBox虚拟机安装程序。boot2docker的核心组件是boot2docker ISO(一个定制版的轻量级Linux操作系统内核)。另外,安装包中还包含一个用go语言开发的命令行程序boot2docker_cli用于与运行在VirtualBox上的boot2docker系统内核交互。

    准备

    目前(2014年8月)最新的boot2docker MacOS安装包版本是1.2.0。Docker项目组在Mac OS X 10.6(Snow Leopard)已经之后的版本上进行了测试,如果你的系统版本在此之前,我们建议你先升级操作系统版本。

    如果你已经安装了VirtualBox,并且涉及到的数据很重要,我们建议你最好先对数据进行备份。安装包中的VirtualBox版本是4.3.12。如果你使用的版本比这个老,我们建议你使用安装包中的版本,否则可能会在后面的安装和使用中出现问题。

    我们建议你在安装之前关闭所有其他应用程序。特别是,如果你已经安装了VirtualBox,请务必在安装之前关闭VirtualBox。否则在安装中,会出现错误提示,如图:

    全新安装

    1. 下载

      boot2docker的MacOS安装包可以从github上下载,连接地址是:https://github.com/boot2docker/osx-installer/releases。下载编译后的安装程序。

    2. 安装

      双击安装包(Boot2Docker-X.X.X.pkg),启动安装程序。 安装过程由一组向导组成,第一个页面如图:

      点击“继续”按钮,下一个页面提示“选择一个目的宗卷”,如图:

      默认安装在系统的/Applications文件夹内。你可以选择将boot2docker安装到你自己的Home目录下,防止这个系统下其他用户使用。也可以选择安装到一个特定的目录下。如果没有特殊需求,使用默认设置。点击“继续”按钮,安装向导计算出安装所需空间,如图:

      这里你可以点击“自定”按钮,来选择安装组件,或者点击“更改安装位置...”按钮,修改组件的安装位置。这里,我们使用默认设置,点击“安装”按钮,开始安装。安装向导通过进度条显示安装进度,如图:

      安装成功后,安装向导显示“安装成功”页面,如图:

    3. 运行

      安装完成后,在“LaunchPad”可以找到Boot2Docker快捷方式,点击快捷方式,启动boot2docker命令窗口。如图:

    CentOS6环境下安装Docker

    安装包的组成

    Docker的主要设计目标操作系统就是Linux,所以,Docker在Linux上的运行效率、支持程度已经共享资源是最好的。在Linux上可以选择通过编译最新源代码来获得最新的Docker版本,也可以通过资源仓库安装Docker的发布版本。这里我们选择安装EPEL上的Docker发布版本,在后面的章节,我们将为大家介绍如何通过源代码编译最新版本的Docker程序,以及如何定制自己的Docker运行环境。

    EPEL资源仓库上的Docker发布版本的版本号为1.0.0。比前面介绍的Windows系统和MacOS系统的安装包中的Docker内核版本要低。两个版本最大的区别是,新版本的Docker使用了自己开发的Linux容器libcontainer来替代LXC。

    准备

    Docker需要Linux内核版本必须是2.6.32-431或更高版本(CentOS6.5 final使用的是这个版本的内核)。如果你的内核版本没有达到这个要求,安装程序会提示错误:To run Docker, you will need CentOS6 or higher, with a kernel version 2.6.32-431 or higher as this has specific kernel fixes to allow Docker to run.

    由于从中国大陆地区访问CentOS官方源仓库速度比较慢,建议在安装之前将源仓库改到阿里云的镜像服务器上,同时为CentOS加上EPEL资源仓库:

    sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
    sudo wget -O /etc/yum.repos.d/CentOS-Base.repo 
         http://mirrors.aliyun.com/repo/Centos-6.repo
    sudo wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 
         http://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-6
    sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
    sudo wget http://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpm
    sudo rpm -ivh epel-release-6-8.noarch.rpm
    sudo mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.bak
    sudo wget -O /etc/yum.repos.d/epel.repo 
         http://mirrors.aliyun.com/repo/epel-6.repo
    sudo yum repolist
    sudo yum makecache

    安装

    如果上面的准备工作都完成,实际的安装过程非常简单,命令如下:

    sudo yum install docker-io

    安装程序将docker程序安装到/usr/bin目录下,配置文件安装在/etc/sysconfig/docker。安装好docker之后,可以将docker加入到启动服务组中,命令如下:

    sudo chkconfig docker on

    运行

    手动启动docker服务器,使用命令:

    sudo service docker start

    初次启动需要一些时间,启动好后,你可以使用docker命令管理和运行你的docker镜像和容器了。

    升级

    在Docker官网上提供各个版本的Docker程序的下载,最新版本下载地址是:https://get.docker.io/builds/Linux/x86_64/docker-latest。升级脚本如下:

    sudo service docker stop
    sudo mv /usr/bin/docker /usr/bin/docker.bak
    sudo wget -o /usr/bin/docker https://get.docker.io/builds/Linux/x86_64/docker-latest
    sudo chmod +x /usr/bin/docker
    sudo service docker start
    sudo docker version

    CentOS7环境下安装Docker

    安装包的组成

    2014年7月7日,CentOS官方发布了首个CentOS7正式版。CentOS7的Linux内核升级到3.10.0,对Linux容器支持得到大大增强。

    在CentOS7的Extra仓库中,有Docker的发布版。这个发布版包含了docker的一个比较老的版本(0.11.1)。相信随着Docker稳定版本的逐步退出,CentOS7会升级源仓库中的docker版本。

    安装

    在CentOS7下可以直接从源仓库安装docker,命令如下:

    sudo yum install docker

    安装程序将docker程序安装到/usr/bin目录下,配置文件安装在/etc/sysconfig/docker。安装好docker之后,可以将docker加入到启动服务组中,命令如下:

    sudo systemctl enable docker.service

    运行

    手动启动docker服务器,使用命令:

    sudo systemctl start docker.service

    初次启动需要一些时间,启动好后,你可以使用docker命令管理和运行你的docker镜像和容器了。

    Ubuntu Server14.04环境下安装Docker

    安装包的组成

    Ubuntu Server14.04使用的Linux内核版本是3.13.0,满足docker对Linux内核的最低要求。而且Ubuntu软件仓库中包含有Docker,只是版本比较旧(0.9.1)。

    安装

    Ubuntu Server14.04系统上安装docker非常方便,直接使用apt-get安装。命令如下:

    sudo apt-get install docker.io
    注意: Ubuntu 软件源中有一个旧的适用于KDE3/GNOME2的包也叫做`docker`, 所以安装的时候要把包写成`docker.io`
    

    安装程序将docker程序安装到/usr/bin目录下,Log输出到/var/log目录下。安装好docker之后,可以将docker加入到启动服务组中,命令如下:

    sudo update-rc.d docker.io defaults

    由于安装程序安装的是docker.io程序,所有,为了方便起见,我们创建一个docker链接。

    sudo ln -sF /usr/bin/docker.io /usr/local/bin/docker

    顺便我们可以加入命令行自动补全:

    sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker
    source /etc/bash_completion.d/docker
    注意:
    如果想要安装新版本的Docker, 那么可以这样做:
    ```bash
    sudo apt-get install -y software-properties-common
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
    sudo sh -c "echo deb https://get.docker.com/ubuntu docker main
      > /etc/apt/sources.list.d/docker.list"
    sudo apt-get update
    sudo apt-get install lxc-docker
    ```
    这里也有一个curl脚本可以一键完成上面的工作:
    curl -sSL https://get.docker.com/ubuntu/ | sudo sh
    

    运行

    安装完docker之后,安装程序会自动启动docker,如果想手动启动docker服务器,使用命令:

    sudo service docker.io start

    初次启动需要一些时间,启动好后,你可以使用docker命令管理和运行你的docker镜像和容器了

    转载

  • 相关阅读:
    Qt中的SIGNAL和SLOT
    Android单个模块编译
    decoupling of objetctoriented systems
    设计模式之Objectifier
    代码示例:调用SPS提供的remoting服务,在线把Office文档转换成html文档
    利用WSS做后台存储设计一个统一的信息发布平台
    元数据(metadata)在企业应用开发中的作用
    面向对象的软件设计中应当遵守的原则
    使用NUnit在.Net编程中进行单元测试
    最近在使用sps类库过程中发现了一个让我比较疑惑的问题(有关items属性的)
  • 原文地址:https://www.cnblogs.com/suriski/p/5951692.html
Copyright © 2020-2023  润新知