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:
- ustc(推荐):ustc关于docker hub mirror的说明
- 阿里云:需要注册登录
- DaoCloud
- 灵雀云:
此外国内还有一些类似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的更多相关文章
- Learn Docker
Learn Docker A Container is to VM today, what VM was to Physical Servers a while ago. The workload s ...
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境
首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...
- Docker 第一篇--初识docker
已经多年不写博客, 看完<晓松奇谈>最后一期猛然觉醒, 决定仔细梳理下自己这几年的知识脉络. 既然决定写, 那么首先就从最近2年热门的开源项目Docker开始.Docker 这两年在国内很 ...
- 在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 ...
- docker for mac 学习记录
docker基本命令 docker run -d -p 80:80 --name webserver nginx 运行容器并起别名 docker ps 展示目前启动的容器 docker ps -a 展 ...
- scrapy爬虫docker部署
spider_docker 接我上篇博客,为爬虫引用创建container,包括的模块:scrapy, mongo, celery, rabbitmq,连接https://github.com/Liu ...
- [原][Docker]特性与原理解析
Docker特性与原理解析 文章假设你已经熟悉了Docker的基本命令和基本知识 首先看看Docker提供了哪些特性: 交互式Shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上, ...
- 开发者的利器:Docker 理解与使用
困扰写代码的机器难免会被我们安装上各种各样的开发工具.语言运行环境和引用库等一大堆的东西,长久以来不仅机器乱七八糟,而且有些相同的软件还有可能会安装不同的版本,这样又会导致一个项目正常运行了,却不小心 ...
随机推荐
- Linux实现删除撤回的方法。
RM命令改造 vim /etc/bashrc 在文件的最前端添加如下代码 #修改rm命令 alias rm=delete #命令别名,通过delete来实现rm改为mv alias r=de ...
- 剑指Offer(书):二叉树的镜像
题目:操作给定的二叉树,将其变换为源二叉树的镜像. public void Mirror(TreeNode root) { if (root == null) { return ; } if (roo ...
- Linux等待队列与唤醒
1.数据结构 1.1等待队列头 struct __wait_queue_head { spinlock_t lock; struct list_head task_list; }; typedef s ...
- 00030_ArrayList集合
1.数组可以保存多个元素,但在某些情况下无法确定到底要保存多少个元素,此时数组将不再适用,因为数组的长度不可变 2.JDK中提供了一系列特殊的类,这些类可以存储任意类型的元素,并且长度可变,统称为集合 ...
- appium之android_uiautomator定位
前言 appium就是封装android的uiautomator这个框架来的,所以uiautomator的一些定位方法也可以用 text 1.通过text文本定位语法 new UiSelector() ...
- Maven部署异常:on project standalone-pom: Cannot deploy artifact from the local repository解决方法
MAVEN部署异常 org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache. ...
- php文档php-fpm.conf配置
cat php-fpm.conf|grep -v "^;"|grep -v "^$" [global] pid = run/php-fpm.pid //pi ...
- phoenixframework集成了所有自动化测试的思想的平台。mark一下。
phoenixframework http://www.cewan.la/
- N皇后-位运算优化
N皇后问题 时间限制: 5 Sec 内存限制: 128 MB 题目描述 魔法世界历史上曾经出现过一个伟大的罗马共和时期,出于权力平衡的目的,当时的政治理论家波利比奥斯指出:“事涉每个人的权利,绝不应 ...
- 【网摘】sql 语句修改字段名称以及字段类型
网上摘抄,备份使用: 修改字段名: 下例将表 customers 中的列 contact title 重命名为 title. EXEC sp_rename 'customers.[contact ti ...