前言

原创文章,转载引用务必注明链接。水平有限,如有疏漏,欢迎指正。

本文使用Markdown写成,为获得更好的阅读体验和正常的图片、链接,请访问我的博客:

http://www.cnblogs.com/sjqlwy/p/up_docker.html

本文环境:ubilinux 3.0 (全新安装并升级系统软件)

docker简介

docker是一种新兴的虚拟化方式,与传统的虚拟化方式(KVM、Xen、OpenVZ、VMware、VirtualBox、VirtualPC等)相比更轻量、更快捷,其不足在于只支持虚拟出Linux应用。

关于传统虚拟化方式介绍:《Xen、OpenVZ、KVM、Hyper-V、VMWare虚拟化技术介绍》

Docker的入门与使用推荐阅读:《Docker —— 从入门到实践》

传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。

在UP上使用Docker

虽然树莓派也支持运行docker,但是得益于UP板的高性能,我们可以在docker容器里获得更流畅的体验。下面展示如何安装docker,我们使用的ubilinux基于Debian Jessie,参考官方教程

系统需求

  • 64位系统

  • Linux 内核版本3.10以上(UP是4.4)

  • 安装必须软件包并导入GPG 密钥

    sudo su
    aptitude install -y apt-transport-https ca-certificates gnupg2
    apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

安装docker

#添加docker软件源(ustc),你也可以用官方的(国内比较慢)和清华的
echo "deb http://mirrors.ustc.edu.cn/docker-apt/repo debian-jessie main" | tee /etc/apt/sources.list.d/docker.list
#安装并启动docker服务
aptitude update && aptitude install docker-engine
systemd status docker
#如果不放心可以查看docker运行状态
systemctl status docker

镜像仓库

安装完docker之后,我们就可以拉取各种应用镜像运行了。当你发送拉取镜像命令时,由一个大管家相应你的请求,并把镜像从镜像仓库里发送给你,有点类似Linux的软件仓库的意思。官方的镜像仓库地址是 https://hub.docker.com ,同样存在国内访问过慢的问题,所以我们可以换用国内源来加速镜像下载。

Mirrors of hub.docker.com:

此外国内还有一些类似Docker Hub的服务,提供第三方镜像:

启用国内docker hub镜像

新版的 Docker 使用 /etc/docker/daemon.json文件配置源位置(没有则创建一个),添加以下内容:

{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

使用systemctl restart docker即可生效,此时下载镜像的速度会有很大提升。

Hello World!

docker run hello-world

使用以上命令即可在容器内下载运行一个测试镜像,之后在屏幕上输出hello world并退出。

使用docker images命令可以查看当前已拉取的镜像。

后记

本文讲述了如何在UP Board上安装配置运行docker,并演示了一个demo。下面将会介绍如何使用docker快速在UP上部署WebIDE云端开发环境。建议多读读Docker —— 从入门到实践,很棒的书。

由于docker打包的应用有自己的一套运行环境,可以非常方便地分发共享,而不需要解决不同系统的软件运行库问题,加上它其他的各种优势,应用起来非常方便。

docker on UP Board的更多相关文章

  1. Learn Docker

    Learn Docker A Container is to VM today, what VM was to Physical Servers a while ago. The workload s ...

  2. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  3. Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境

    首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...

  4. Docker 第一篇--初识docker

    已经多年不写博客, 看完<晓松奇谈>最后一期猛然觉醒, 决定仔细梳理下自己这几年的知识脉络. 既然决定写, 那么首先就从最近2年热门的开源项目Docker开始.Docker 这两年在国内很 ...

  5. 在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

    环境准备 1.亚马逊EC2 Windows Server 2016 with Container 2.Visual Studio 2015 Enterprise(Profresianal要装Updat ...

  6. docker for mac 学习记录

    docker基本命令 docker run -d -p 80:80 --name webserver nginx 运行容器并起别名 docker ps 展示目前启动的容器 docker ps -a 展 ...

  7. scrapy爬虫docker部署

    spider_docker 接我上篇博客,为爬虫引用创建container,包括的模块:scrapy, mongo, celery, rabbitmq,连接https://github.com/Liu ...

  8. [原][Docker]特性与原理解析

    Docker特性与原理解析 文章假设你已经熟悉了Docker的基本命令和基本知识 首先看看Docker提供了哪些特性: 交互式Shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上, ...

  9. 开发者的利器:Docker 理解与使用

    困扰写代码的机器难免会被我们安装上各种各样的开发工具.语言运行环境和引用库等一大堆的东西,长久以来不仅机器乱七八糟,而且有些相同的软件还有可能会安装不同的版本,这样又会导致一个项目正常运行了,却不小心 ...

随机推荐

  1. python面向对象(反射)(四)

    1. isinstance, type, issubclass isinstance: 判断你给对象是否是xx类型的. (向上判断 type: 返回xxx对象的数据类型 issubclass: 判断x ...

  2. django第9天(多表操作)

    django第9天 models类 class Book(Model): id = AutoField(primary_key=True) name = CharField(max_length=20 ...

  3. 安装altium designer的破解问题

    无法启动此程序,因为计算机中丢失MFC71.DLL.尝试重装安装该程序 百度下搜索下载MFC71.DLL,解压后复制到c:windows/system32/下,在开始-运行下输入regsvr32 MF ...

  4. Leetcode 413.等差数列划分

    等差数列划分 如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列. 例如,以下数列为等差数列: 1, 3, 5, 7, 9 7, 7, 7, 7 3, -1, -5, -9 ...

  5. 九度oj 题目1016:火星A+B

    题目描述:     读入两个不超过25位的火星正整数A和B,计算A+B.需要注意的是:在火星上,整数不是单一进制的,第n位的进制就是第n个素数.例如:地球上的10进制数2,在火星上记为“1,0”,因为 ...

  6. 【2018.11.23】2018WCTest(8)

    T1 小 $X$ 无敌就是指他的防御 $\ge$ 怪物的攻击 $n$.另外小 $X$ 最多只需要把攻击加到怪物的防御 $k$,此时已经能一招秒一个,再多加必定无用且需承受更多伤害. $20$ 分 $d ...

  7. centos7 下修改网络配置

    修改ip地址 编辑 /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=Ethernet BOOTPROTO=static 静态ip DEFROUTE=yes ...

  8. Gty的妹子树(bzoj 3720)

    Description 我曾在弦歌之中听过你, 檀板声碎,半出折子戏. 舞榭歌台被风吹去, 岁月深处尚有余音一缕…… Gty神(xian)犇(chong)从来不缺妹子…… 他来到了一棵妹子树下,发现每 ...

  9. 安装sqlServer2012失败补救

    今天拿着新电脑win10,装数据库2012,装了第一次,没装上,有一半的工具都失败了,慌了.. 连management studio都没装上,我用navicat也连不上. 卸了,第二次安装,装一半卡住 ...

  10. 隐藏video标签的下载按钮

    问题: 使用video标签时,有些浏览器会显示视频的下载按钮,而这并不是我们需要的功能,必须想办法去掉. 解决方法: 使用下面的css可以达到隐藏下载按钮的效果,但是点击下载的位置,还是能出现开始下载 ...