• docker on UP Board


    前言

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

    本文使用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打包的应用有自己的一套运行环境,可以非常方便地分发共享,而不需要解决不同系统的软件运行库问题,加上它其他的各种优势,应用起来非常方便。

  • 相关阅读:
    LoginStatus 如何指向不同的登陆地址以及“invalid FORMATETC”
    不排序和可以重复Key的SortedList。
    一个新样式
    如何给另一个桌面的程序发送消息?
    Html使用自定义光标的一点需要注意的小问题。
    用stream.Read不能完整读取内容的问题。
    全国天气预报代码(转帖)
    Access处理DISTINCT的Bug?
    asp.net和asp运行结果不同?
    学习枚举类型/FlagsAttribute属性
  • 原文地址:https://www.cnblogs.com/sjqlwy/p/up_docker.html
Copyright © 2020-2023  润新知