neversoft 发表于 2017-6-21 20:27:02

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 密钥

  shell   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:


[*]ustc(推荐):ustc关于docker hub mirror的说明
[*]阿里云:需要注册登录
[*]DaoCloud
[*]灵雀云:
  此外国内还有一些类似Docker Hub的服务,提供第三方镜像:


[*]时速云镜像仓库
[*]网易云镜像服务
[*]DaoCloud 镜像市场
[*]阿里云镜像库
启用国内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打包的应用有自己的一套运行环境,可以非常方便地分发共享,而不需要解决不同系统的软件运行库问题,加上它其他的各种优势,应用起来非常方便。
页: [1]
查看完整版本: docker on UP Board