树莓派docker搭建
树莓派上 Docker 的安装和使用
Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,容器性能开销极低。这对树莓派非常有用,本教程将介绍 Docker 这个工具以及如何在 Raspbian 上安装 Docker。
Docker 的应用场景
Web 应用的自动化打包和发布。
自动化测试和持续集成、发布。
在服务型环境中部署和调整数据库或其他的后台应用。
从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。
Docker 的优点
Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。方便快捷已经是 Docker 的最大优势,过去需要用数天乃至数周的任务,在Docker容器的处理下,只需要数秒就能完成。Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。
这里介绍两种安装 Docker 的方法,最简单的是直接从 get.docker.com 下载安装脚本并开始安装。仅需执行下面一行命令即可。经测试,树莓派3B、3A+、3B+ 均可支持 Docker,树莓派 Zero 虽然可以安装成功,但无法启动 Docker 服务。
安装方法一(脚本安装)
脚本安装是最推荐的方式,只需要输入下面的命令,等待自动安装好即可。
1
|
sudo curl -sSL https: //get .docker.com | sh |
如果采用这一步安装成功,可直接跳到下文的图形界面安装那里继续阅读。
安装方法二(apt 安装)
由于 Raspbian 基于 Debian,我们还可以使用 apt 来安装 Docker,首先需要更新一下软件包的索引。
1
|
sudo apt-get update |
安装 HTTPS 所依赖的包
1
2
3
|
sudo apt-get install apt-transport-https \ ca-certificates \ software-properties-common |
添加 Docker 的 GPG key
1
|
curl -fsSL https: //yum .dockerproject.org /gpg | sudo apt-key add - |
验证 key id:
1
|
apt-key fingerprint 58118E89F3A912897C070ADBF76221572C52609D |
设置稳定的 repository:
1
2
3
4
|
sudo add-apt-repository \ "deb https: //apt .dockerproject.org /repo/ \ raspbian-$(lsb_release -cs) \ main" |
注意:如果 add-apt-repository 命令遇到问题,可以尝试将下面这行添加到树莓派软件源 sources.list,操作如下:
1
|
sudo nano /etc/apt/sources .list |
添加一行:
- deb https://apt.dockerproject.org/repo/ raspbian-RELEASE main
根据自己系统版本调整上面的 RELEASE。通过下面的命令可以查看发行版。
1
|
lsb_release -cs |
安装 Docker
1
2
|
sudo apt-get update sudo apt-get -y install docker-engine |
测试 Docker
运行 hello-world 镜像来做一个测试。
1
|
sudo docker run hello-world |
如果 Docker 安装成功,你会看到一条消息:“Hello from Docker!”。
常用配置和工具命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#查看 Docker 版本 docker - v sudo docker pull 仓库/镜像:版本(留空的话默认为 latest) sudo docker run 加参数,用来创建容器 #查看运行容器 sudo docker ps #查看所有下载的镜像 sudo docker images #进入容器终端 sudo docker exec -i -t ha /bin/bash #实时查看10行的 ha 日志 sudo docker logs -f -t -- tail 10 ha #重启 systemctl 守护进程 sudo systemctl daemon-reload #设置 Docker 开机启动 sudo systemctl enable docker #开启 Docker 服务 sudo systemctl start docker #下载 Docker 图形化界面 portainer sudo docker pull portainer /portainer #创建 portainer 容器 sudo docker volume create portainer_data #运行 portainer sudo docker run -d -p 9000:9000 --name portainer --restart always - v /var/run/docker .sock: /var/run/docker .sock - v portainer_data: /data portainer /portainer |
在图形化界面中操作更加便利。运行之后在浏览器中输入树莓派IP:9000 进入界面。
首次访问需要设定登录密码。
对于树莓派上的应用,选择 Local 就好。
在控制台可以看到 Docker 的各种资源信息。
from: http://shumeipai.nxez.com/2019/05/20/how-to-install-docker-on-your-raspberry-pi.html
树莓派docker搭建的更多相关文章
- 如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器
Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动 ...
- 使用 Docker 搭建 Java Web 运行环境
黄勇的博客 Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐 ...
- mac下通过docker搭建LEMP环境
在mac下通过docker搭建LEMP环境境 1.安装virtualbox.由于docker是在lxc环境的容器 2.安装boot2docker,用于与docker客户端通讯 > brew up ...
- 转:使用 Docker 搭建 Java Web 运行环境
原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...
- 【译文】用Spring Cloud和Docker搭建微服务平台
by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...
- docker搭建zabbix
本次使用docker搭建zabbix的组合是mysql+docker+zabix-server 1 先安装数据库mysql docker run --name zabbix-mysql-server ...
- Docker 搭建 etcd 集群
阅读目录: 主机安装 集群搭建 API 操作 API 说明和 etcdctl 命令说明 etcd 是 CoreOS 团队发起的一个开源项目(Go 语言,其实很多这类项目都是 Go 语言实现的,只能说很 ...
- Centos7安装ES 和 Docker搭建ES
本文版权归博客园和作者吴双本人共同所有 转载和爬虫请注明原文地址 www.cnblogs.com/tdws 一.linux centos7.x安装ES 1.下载java sudo yum instal ...
- Docker最全教程之使用Docker搭建Java开发环境(十七)
前言 Java是一门面向对象的优秀编程语言,市场占有率极高,但是在容器化实践过程中,发现官方支持并不友好,同时与其他编程语言的基础镜像相比(具体见各语言镜像比较),确实是非常臃肿. 本篇仅作探索,希望 ...
随机推荐
- Vulkan SDK 之 Descriptor Set Layouts and Pipeline Layouts
当我们有了一个uniform buff之后,vulkan 还不知道这个信息,需要通过descriptor进行描述. Descriptors and Descriptor Sets A descript ...
- CSS font-family 各字体一览表
windows常见内置中文字体字体中文名 字体英文名宋体 SimSun(浏览器默认) 黑体 SimHei 微软雅黑 ...
- leetcode - 两数之和Ⅳ 输入BST(653)
题目描述:给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true. 解题思路:根据二叉搜索树的特点,对二叉搜索树进行中序遍历可以得到一个从小到达排 ...
- 好文推荐:终于有人把Elasticsearch原理讲透了
专注于Java领域优质技术,欢迎关注 作者:channingbreeze 转自公号:互联网侦察 小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了. ...
- SQL字符替换函数translater, replace
translate() 函数原型是:translate(string, from, to) SELECT TRANSLATE('12345', '134', 'ax') 得到:a2x5 这个函数会把f ...
- 线上环境 分析java问题 常见命令
在生产上进程需要分析jvm运行情况,今天分享几个自己常用的命令,持续更新,欢迎补充 1.jps jstack -l {pid} > jstack.log #查看线程快照信息 2.jps jmap ...
- git本地仓库连接同步修改远程仓库
如何使用GIT BASH同步远程仓库 1. 新建一个目录 2. 右键GIT BASH 3. git clone git@github.com:purity12138/221701117.git (SS ...
- 数的划分(DFS、DP)
https://www.luogu.com.cn/problem/P1025 题目描述 将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序). 例如:n=7,k=3,下面三种分法被认为是 ...
- selenium请求豆瓣网
#请求豆瓣网 from selenium import webdriverimport timedriver = webdriver.Chrome() driver.get("http:// ...
- jstl中遍历Map
在jstl中遍历Map和遍历List与数组一样,都是使用forEach标签. 例子: <%@ page import="java.util.Map" %> <%@ ...