分布式进阶(二)Ubuntu 14.04下安装Dockr图文教程(一)

时间:2021-10-26 20:02:55

当前,完全硬件虚拟化技术(KVM、Xen、Hyper-V 等)能在一个物理主机上很好地运行多个互相独立的操作系统,但这也带来一些问题:性能不佳,资源浪费,系统反应迟缓等。有时候对用户来说,完全的硬件虚拟化并不是最好的选择。

一种替代方案是使用轻量级虚拟化技术 —— 所谓的 LinuX Container 容器 (LXC),它提供的是系统级虚拟化。与跑虚拟机相比,LXC 可以在一个轻量级沙箱容器里面跑多个 Linux 操作系统。当你需要设置一些易于克隆的开发环境、测试环境,或想在安全沙盒里安装应用时,LXC 就非常有用了。

Docker 是一个开源工具,可以让用户方便地布署 Linux Container 容器。Docker 很快变成了 container 技术的非官方标准,从而被 Ubuntu 和 Red Hat等众多发行版吸收进去。

分布式进阶(二)Ubuntu 14.04下安装Dockr图文教程(一)

分布式进阶(二)Ubuntu 14.04下安装Dockr图文教程(一)

本教程中我会向你们演示如何在 Ubuntu 14.04 中使用 Docker 来管理 LXC。需要注意的是,本教程的一些内容可能会与其他 Ubuntu 版本下的操作会稍微有些出入。

当前Ubuntu 系统下的 Docker 的安装包只提供64位。如果你想运行32位的 Docker,你需要使用源码编译32位 Docker 工具。

继续进行分布式开发,下面开始在Ubuntu14.04下安装Docker。

注:Ubuntu上可用的Docker程序包只支持64位系统。想在32位机器上运行它,你就要利用源代码构建32位版本的Docker,建议使用64位的。

Docker利用Linux容器(LXC)虚拟化技术提供一份部署环境。Docker目的是创建可移植,可分发给任何的Docker环境中运行。Docker由于是OpenVZ的作品,对内核有一些要求。

1.安装

安装Docker使用apt-get命令(若为非root用户,需在命令前添加sudo):

apt-get install docker.io

分布式进阶(二)Ubuntu 14.04下安装Dockr图文教程(一)

启动服务和守护进程

service docker.io status

service docker.io start

创建软连接,以便在外壳上使用起来更容易。

ln -sf /usr/bin/docker.io /usr/local/bin/docker

如没有提示错误则说明你已经在Ubuntu14.04上面快速安装Docker成功了。

读者也可通过下面的方法从Docker 官方源安装最新版本。首先需要安装apt-transporthttps,

并添加Docker 官方源:

sudo apt-get install apt-transport-https

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7

869245C8950F966E92D8576A8BA88D21E9

sudo bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/

sources.list.d/docker.list"

sudo apt-get update

之后,可以通过下面的命令来安装最新版本的Docker:

sudo apt-get install -y lxc-docker

在安装了Docker 官方软件源后,若需要更新Docker 软件版本,只需要执行以下命令即可升级:

sudo apt-get update -y lxc-docker

如果使用的是较低版本的Ubuntu 系统,则需要先进行内核更新并重启系统后再进行安装:

sudo apt-get update

sudo apt-get install -y linux-image-generic-lts-raring linux-headers-genericlts-

Raring

sudo reboot

重启后,重复在Ubuntu 14.04 系统的安装步骤即可。

注:在安装过程中应尽量做到将以上脚本命令整理好放在一个脚本中,以便以后进行一键式部署安装。

2.准备外壳环境

现在,我将把我的user=shq添加到docker组:

sudo usermod -a -G docker shq

或者使用:

sudo usermod -a -G docker $USER

这里,我会退出当前会话,然后再重新登录。现在,我将添加docker配置文件,以便向系统通知其位置。

sudo vi /etc/default/docker.io

DOCKER="/usr/bin/docker.io"

现在重启服务,如下所示:

sudo service docker.io restart

3.管理docker容器

3.1.下载ubuntu docker容器

安装完成后,可以使用下面的命令确定安装的版本和基本的信息。由于docker使用go语言进行编写的,所以要依赖于GO的编译工具和库文件。若要查看Docker版本信息,可输入如下命令:

sudo docker version

以下为提示信息:

分布式进阶(二)Ubuntu 14.04下安装Dockr图文教程(一)

镜像是Docker 运行容器的前提。

官方安装方式docker pull imagename从docker的索引中心下载,imagename是镜像名称,例如docker pull ubuntu就是下载base ubuntu并且tag是latest。pull命令用于从注册中心(registry)拉取映像或软件库。(使用pull 命令从Docker Hub仓库中下载镜像到本地)

sudo docker pull ubuntu:14.04

以下为提示信息:

Pulling repository ubuntu

c4ff7513909d: Download complete

511136ea3c5a: Download complete

1c9383292a8f: Download complete

9942dd43ff21: Download complete

d92c3c92fa73: Download complete

0ea0d582fd90: Download complete

cc58e55aa5a5: Download complete

上面的命令即从默认的注册服务器registry.hub.docker.com 中的ubuntu 仓库来下载标记为latest 的镜像。

用户也可以选择从其他注册服务器的仓库下载。此时,需要在仓库名称前指定完整的仓

库注册服务器地址。例如从DockerPool 社区的镜像源dl.dockerpool.com 下载最新的

Ubuntu 镜像。

sudo docker pull dl.dockerpool.com:5000/ubuntu

下载完成后,你也可以使用docker images 命令可以列出本地主机上已有的镜像。

sudo docker images

以下为提示信息:

分布式进阶(二)Ubuntu 14.04下安装Dockr图文教程(一)

使用docker inspect 命令可以获取该镜像的详细信息。

sudo docker inspect 5506de2b643b

docker inspect 命令返回的是一个JSON 格式的消息,如果我们只要其中一项内容

时,可以使用-f 参数来指定,例如,获取镜像的Architecture 信息:

sudo docker inspect -f {{".Architecture"}} 550 amd64

在指定镜像ID 的时候,通常使用该ID 的前若干个字符组成的可区分字串来替代完整的 ID。

使用docker ps -a 命令可以看到本机上存在的所有容器:

sudo docker ps -a

列出当前运行的容器, -a 会列出所有,包括已停止的, -q 只列出容器 ID,使用如下命令:

docker ps -a -q

删除所有未运行的容器,使用如下命令:

docker ps -a -q | xargs docker rm

4.启动docker容器

注:容器依赖于镜像。

下面的命令启动 Docker 里面的 Ubuntu 系统,进入交互的Shell中,最后的参数“/bin/bash”表示一旦容器启动,首先会执行简单的 bash。登录进入到Ubuntu容器的bash外壳:

sudo docker run -i -t ubuntu:14.04 /bin/bash

查看当前镜像信息,输入如下命令:

cat /etc/lsb-release

显示如下信息:

DISTRIB_ID=Ubuntu

DISTRIB_RELEASE=12.04

DISTRIB_CODENAME=precise

DISTRIB_DESCRIPTION="Ubuntu 12.04.4 LTS"

下面的内容见“分布式进阶(二)Ubuntu 14.04下安装Dockr图文教程(二)

分布式进阶(二)Ubuntu 14.04下安装Dockr图文教程(一)的更多相关文章

  1. 分布式进阶(二)Ubuntu 14.04下安装Dockr图文教程(二)

    4.1 构建我们自己的映像 构建Docker映像有两种方法: •通过docker commit(提交)命令 •通过docker build(构建)命令以及Docker文件(Dockerfile) 目前 ...

  2. 分布式进阶(四)Ubuntu 14.04下安装Tomcat 6

    Ubuntu 10.04下安装Tomcat 6 1,下载apache-tomcat6, 地址链接:http://archive.apache.org/dist/tomcat/tomcat-6/v6.0 ...

  3. Ubuntu 14.04 下安装 OpenCV

    参考: Installation in Linux Error compiling OpenCV, fatal error: stdlib.h: No such file or directory 图 ...

  4. Ubuntu 14.04下安装功能强大的屏幕截图软件 Shutter

    [注释]试用了一下,果然很强大,牛逼 一款功能强大的屏幕截图软件——Shutter,Shutter最基本的就是截图功能了,在设计上可以*选定区域,同时选定之 后依然可以通过上下左右四个地方来改变选区 ...

  5. Ubuntu 14.04 下 安装Protocol Buffers

    参考: Protocol Buffers - Google's data interchange format Ubuntu 14.04 下 安装Protocol Buffers 环境 Ubuntu ...

  6. Ubuntu 14.04 下安装Skype

    操作1: Ubuntu 14.04 下安装Skype,使用 Ctr+Alt+T组合键打开终端Terminal,输入如下即可: wget -O skype.deb http://download.sky ...

  7. [硬件配置]记录Ubuntu 14.04 下安装无线网卡驱动解决无法连接WiFi的过程

    新电脑安装了Ubuntu 14.04,但是网络连接中只有以太网而没有WiFi的选项. 打开System Setting系统设置-Software&Updates软件&更新-Additi ...

  8. Ubuntu 14.04下安装GitLab指南

    摘要 GitLab 是一个用于仓库管理系统的开源项目.使用Git作为代码管理工具,并在此基础上搭建起来的web服务. 在GitLab的官方网站上面对Ubuntu的支持也是很好的,有比较详尽的安装指南. ...

  9. Ubuntu 14.04下安装CUDA8.0

    配置环境如下: 系统:Ubuntu14.04 64bit 显卡:Nvidia K620M 显卡驱动:Nvidia-Linux-x86_64-375.66.run CUDA8.0 +  cudnn8.0 ...

随机推荐

  1. web开发——写一个简单的表格导出操作

    一.前台页面: 主要是一个按钮和一个表格,表格有显示数据,按钮负责将表格中的数据选择性地导出.除此外,可以附加一个小窗口和进度条,用于显示下载进度. 1. 按钮:<a href="ja ...

  2. 整数中1出现的次数(从1到n整数中1出现的次数)

    题目:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了.AC ...

  3. iOS开发- 三步快速集成社交化分享工具ShareSDK

    1.前言 作为现在App里必不可少的用户分享需要,社交化分享显然是我们开发app里较为常用的. 最近因为公司App有社交化分享的需要,就特此研究了会,拿出来与大家分享. 想要集成社交会分享,我们可以使 ...

  4. 数字证书中读取PublicKey

    1. 读取https签发证书中的key 1) 在下面的代码中,是实现读取证书字符串来读取key的,CERTIFICATE 就是一个证书的字符串, 而方法cf.generateCertificate() ...

  5. spring cloud整合 websocket 的那些事

    我们知道, 现在很多浏览器都已经是直接支持 websocket 协议的了,  除此之外, sockjs, 也可以实现 websocket 功能.. 当然, 其原理是不同的. 一开始 websocket ...

  6. web&period;xml简介

    用于配置Web应用的相关信息,如:监听器(listener).过滤器(filter). Servlet.相关参数.会话超时时间.安全验证方式.错误页面等.例如: Servlet 3中的异步处理指的是什 ...

  7. pyinstaller 打包不成功,提示inporterror 缺少xlrd、xlwt

    问题:pyinstaller 打包不成功,提示inporterror 缺少xlrd.xlwt 解决:将 pypiwin 230 改为 219

  8. Flink &ndash&semi; submitJob

    Jobmanager的submitJob逻辑, /** * Submits a job to the job manager. The job is registered at the library ...

  9. 什么情况下用resultType和 resultMap

    MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap 那什么情况下用resultType? resultMap 一般用在什么情况下?   如 ...

  10. Microsoft Office -&gt&semi;&gt&semi; 完整卸载Office 2007

    今天用GHOST安装了Windows 8.1,结果发现预装了Office 2007,而且这个GHOST系统的Office 2007还不是很正规的安装手法安装的.它没有在注册表中注册.在打开控制面板后发 ...