树莓派 docker tomcat运行docker卡不卡

树莓派3b——玩转docker - 简书
树莓派3b——玩转docker
更新环境变量设置部分
本文是基于OMV(OpenMediaVault)上的,因为图形界面比命令行界面操作更简便,也有更良好的交互性。好吧,其实我是懒而已,用 OMV 好久了不愿更换其他软件。
OMV安装参考
一、安装docker
在OMV-Extras里勾选 Docker CE,并点更新 。
直接在源里添加
deb https://dl.bintray.com/openmediavault-plugin-developers/arrakis-docker stretch main
deb https://download.docker.com/linux/debian stretch stable
添加docker源
在插件里找到openmediavault-docker-gui,勾选并安装。
命令行界面运行:sudo apt-get install openmediavault-docker-gui
安装docker
安装完成后刷新页面,即可在左侧见“容器”,勾选“启用插件”,保存确认。
启用docker插件
二、设置docker
默认使用的是系统盘,如果空间不足,可能需要更改到其他位置。
docker设置
docker images repo的源是针对x86-64的,一般是不适用的,因为树莓派处理器是ARM架构的。要么自己build,要么去找适用于arm的镜像image,有一个小技巧是右上角的搜索可以即时搜索image
如果设置没问题,那么就可以开始pull image了
也可以用个示例简单验证,docker配置是否正确。
sudo docker pull arm32v7/hello-world
然后试运行这个docker,出现下图类似信息
sudo docker run arm32v7/hello-world
docker-hello.png
三、使用docker容器
pull docker
点击“获取镜像”,在“源”里输入lsioarmhf/rutorrent,标签一栏可以留空,默认是latest,也可选特定tag. 点击“开始”,完成后点“关闭”
获取镜像.png
run docker
选中需要运行的镜像,然后点“部署镜像”,配置好后点保存。
容器名称:最好写让自己容易辨析的名称,也可以留空,运行后自动生成
与主机时间同步:
重启容器策略:无,总是重启,被停止时重启,启动失败时重启
以特权模式运行:启用后,容器内部的root和宿主机上的root在Capability方面拥有的权限一致,此时容器内的root对宿主机的危害是非常大的。如果没有启动priviledge特权模式,那么容器内的root用户会缺少很多的Capability能力,比如没有SYS_ADMIN能力等
网络模式:
桥接Bridge,用于端口转发,如我下图示例,容器默认端口是80,而设置转发后地址则为“主机IP:81”
主机模式Host:直接使用主机的端口
其它网络模式没用过,不清楚。
Host name: 也可留空
环境变量:添加 PUID 和 PGID ,其它一般不需更改,除非你清楚变量含义及有特定需求。切换到pi用户(新建其它用户也行)下,直接在终端输入id 即可知道当前用户的PUID和PUID,比如我这里直接用pi用户。
获取puid和guid
更改环境变量
卷绑定:可以先在右侧的Container Path输入/ 看看容器需要哪些参数,再把参数映射到宿主机的目录下,比如将容器内的 /config 映射到宿主机的 /home/pi/.config/docker-rutorrent
我图例就是将容器的下载目录/downloads绑定为主机的/home/pi/Downloads
R/O表示只读模式
Volumes from: 使用其它容器的目录。
注意,修改添加选项参数,需要点右侧的“+”号才会生效。路径前面的“/”也别忘了。
部署镜像1--需要点右侧的+号才生效.png
部署镜像2.png
选中需要运行的容器,点击start,如下图,稍等1-2分钟,等容器启动完成。
start docker.png
浏览器输入链接"主机IP:81",运行成功。
successful.png
需要主要的是,容器重启后,容器内的数据将会丢失(容器外部的数据不会丢失),注意备份。
如果没有安装OMV的话,也可以参考官博
使用如下命令安装docker
curl -sSL https://get.docker.com | sh
可能你需要掌握一些有关docker的命令dokcer help
一些docker image推荐:
lsioarmhf/transmission
lsioarmhf/rutorrent
bt/pt下载下载
lsioarmhf/deluge
bt/pt下载下载
lsioarmhf/plex
媒体播放、在线转码
lsioarmhf/nextcloud
arm32v7/nextcloud
私有云,同上
armv7/armhf-owncloud
私有云,公司倒闭了不建议用了
lsioarmhf/htpcmanager
htpc管理器
arm32v7/wordpress
armhf/wordpress
博客系统,不过这个作者好久没更新了
参考文章:树莓派拿来怎么玩,才能内心感到充实
14:31:48 +08:00 · 8034 次点击
有一个 Pi,以前都是跑 Web 和本地 DNS 的,然后觉得没有劲,就闲置在柜子里,不知道拿来玩什么才好,GPIO 什么的,自己做的温湿度检测,发现也没什么意思,想知道大佬们,怎么玩,觉得好的话,我也自己玩玩,还是那句:树莓派拿来怎么玩,才能内心感到充实.
请大佬告之
如果有你的项目的地址什么的,希望附在回答中.
现在 Pi 上运行 Arch,不知道玩什么,每次 SSH 上去,pacman -Syu...看看内核有没有更新,如果更新了,升级一下,然后 screenfetch 截图发群一下,刚发完就把 Pi 给 shutdown now ....
怎么玩才不浪费呢....
60 回复 &| &直到
19:16:07 +08:00
& & 14:41:19 +08:00
用作吸尘器
& & 14:46:16 +08:00
& & 15:07:01 +08:00
移动硬盘一个 + samba + xware + 迅雷远程下载 = 远程下载机和家庭 nas
我家 电视*3
+ 台式 + macbook + 手机*n
都可以直接看硬盘里的电影,很爽,虽然迅雷远程下载有时候会莫名其妙的不好用,但大部分还是好的。
& & 15:59:55 +08:00
我用的 OrangePi PC2,全志 H5,4 核 64 位,1G RAM, 千兆网卡,装 debian,接双盘位移动硬盘盒 raid1,可惜 USB 还是 2.0 的,不过 30MB/s 的速度也够用了。什么时候能有 USB3.0 就完美了。
1. samba 共享,存储照片、代码、电影
2. mldonkey bt,emule 下载
3. resilio-sync 同步备份手机上的照片,电脑上需要同步的资料
4. KCPTUN client,把收到的数据转发到美国 VPS (年付 4 美元)上的 SS
5. minidlna 共享电影,供电视盒子使用。
目前只用了这几个,性能过剩,全天开机,省电,放角落里就不用管了,省事
& & 17:04:39 +08:00
。。。。。。 看你们这样玩感觉我简直就是浪费电费了··· 我弄了个 10GB+
B150 + G4400
软路由 + NAS
后期可能要装个 ubuntu 跑个芒果 DB
mysql 啥的··
考虑到上行只有 200KB 就不做 web 服务了···
@
& & 03:02:31 +08:00
1、配置 homebridge,然后连上 yeelight,实现 homekit 智能家具
& & 08:18:03 +08:00
& & 08:25:33 +08:00 via Android
目前就用来当迅雷远程下载+无线 AP+温湿度监控用,对于这些应用来讲性能过剩
& & 09:49:19 +08:00
嗯,昨天把两台闲置树莓派拿来实验了跨域问题...
& & 09:53:59 +08:00
一代 pi,插个 wifi 改成路由 加上 ss/dns server 就这样了
别人来家里 就让他们 wifi 我这个路由,还能翻墙 免得找我要其他密码
switch 也用这个路由,
NAS 什么的有其他设备就是不想开,电费太贵
& & 12:47:32 +08:00
做储存什么的,感觉还是浪费,谢谢.
& & 12:50:41 +08:00
@ 对,想法不错,我玩过这个,自己搭建一个 DNS,用 Dnsmasq,然后修改 hosts,dns 用本地的 hosts 就可以实现本地加速解析+墙.路由器把 DNS 设置成 Pi 的就行了。我这有例子,你用 SS 的话,还是要考虑分流的问题,不然你的所有流量都会从 SS 走,在转发到国内的服务器.https://insaneboy.github.io//Pi%E8%87%AA%E5%BB%BA%E6%9C%AC%E5%9C%B0DNS%E5%8A%A0%E9%80%9F%E8%A7%A3%E6%9E%90/
& & 12:52:55 +08:00
@ 呵呵,好巧呀,上次 OrangePi 的官方管理员送我一个 PC2,我还没有用他做过什么,搞过一个简单的温湿度获取什么的,我看上是他的千兆网口,但是家里面除了这个 Pi 是千兆的就没有了,所以等以后升级千兆路由什么的,PC2 的性能才能比较好的发挥。还是放在壳子里藏好.
& & 12:55:47 +08:00
@ 智能家居很不错,我用 OrangeZero 搞过一个类似于智能的垃圾,就是每天大概 5.40 左右,报送天气 预报什么的,用百度的语音翻译,下载后本地执行文件,当时考虑音频是一边一下一边播放,这个难题困扰了我不少时间,大概 2 个钟头吧,毕竟是苦读的高中生,今年毕业了,读大学就可以睡懒觉了、哈哈哈。。。。不知道你的家居玩的怎么样了。
& & 14:37:15 +08:00
NAS
router
server
& & 14:41:47 +08:00
我上大学那会买了个 pcduino,到现在还没开过机。。。已经 4 年了
& & 14:58:56 +08:00
@ 我就架个代理 不会全部走 ss 人家要用就设置 wifi 里面的 http 代理 我 switch 就是这么弄的
想过全部走 ss,但是还要过滤 ip 改 iptables 反正别人用 wifi 够了 没必要折腾
& & 15:02:42 +08:00
@ OrangePi 之前还有个小 NAS,是千兆网口的,笔记本的 wifi 是 300M,手机双频也是百兆以上,所以去年初一个小牌子双频千兆( WLAN 千兆,无线双频 AC )无线路由特价 80 多块钱的时候买了一个,千兆家庭网络不再是梦,买 Pi 的时候才特意找的千兆网卡的 PC2.只可惜 USB 是 2.0 的,拷文件是瓶颈,如果是 USB3.0 的就更能发挥千兆网卡的作用了。
& & 21:35:04 +08:00
@ 收藏也不错哈。
& & 21:36:58 +08:00
@ 首先想说一句其实大学很多时候也并不能睡懒觉 hhh,我也主要就用来控制寝室床上的灯和桌子上面的灯。比如晚上几点钟自动开床上灯提醒我睡觉、去教学楼上课时候自动关灯这样。不过很多时候,iPhone 的定位的精度不够,我走到教学楼灯也没关。。。。。
& & 21:37:08 +08:00
@ 是这么一回事。还不如买一个好的路由器挂 1T 硬盘呢,还可以各种啦啦啦啦啦啦、、、
& & 21:38:51 +08:00
@ 呵呵,基站定位的,其实还有一个本方法,那就是 ping,不过你的手机要常把 wifi 打开。
& & 21:40:32 +08:00
@ 高端玩家,都是说 英文单词。666
& & 12:46:58 +08:00
有多个板子的话可以尝试下组个小集群,k8s 或者 docker swarm,不过 k8s 我尝试没成功
& & 18:20:36 +08:00
@ 多个板子,不同型号也行吧?我过几天试一下.
& & 19:43:51 +08:00
嗯,不同型号应该没关系,能装 docker 就行,官方的 swarm 比较容易,按官方文档来就行,可以用 docker-swarm-visualizer 来看一下正在运行的服务,有人已经 build 了 arm 版的 image: alexellis2/visualizer-arm,webui 可以用 portainer/portainer:linux-arm,base image 可以用
的镜像,相对来说 arm 的 docker image 比较少,而且很多都比较旧了,可以选用加入 qemu 的 base image 然后用 ci 自己 build ;
k8s 可以参考这篇博客:
试一下,不过我之前按这个来没成功,看 github 上的 issues 可能得用旧版本的 docker
另外 mesos 网上也有几篇资料,不过试过在树莓派上编译新版的也没成功
& & 19:58:32 +08:00
@ 好啊,谢谢大佬指点。感觉 性能跟不上哈。
& & 20:01:13 +08:00 via Android
宿舍 NAS 你懂得
& & 20:19:02 +08:00
@ 我不是 dalao 啊,只是平时自己折腾折腾,其实从 pi2 开始感觉性能就不错了,pi3 更上一层,内存卡超频之后官方 raspbian 13,14 秒启动,比 06 年的老笔记本快,4 核编译速度也还不错,编译 docker 大概 50 多分钟
也可以用来作家庭监控或者直播推流
目前最明显的短板感觉是内存小点,要是内存有 2G 的话真的就足够用了,本来 2 月想等 pi4 的,结果后来看对树莓派基金会老板的采访说得两三年之后了
& & 20:32:23 +08:00
红外心跳检测
倍感充实(逃~~
& & 22:05:26 +08:00
树莓派的网口性能不行,做 nas 太捉急呀
& & 22:27:29 +08:00
@ 如果只是用于储存资料什么的,还是可以的,小文件,要是真的玩 NAS,还不如买一个有千兆网的 N2700 的板子,不知道型号说的对不对.
& & 22:27:56 +08:00
@ 你太有创意了,以后的市场是你的了。
& & 22:30:26 +08:00
@ 视频推流,我试过,跟不上的,但是没有用集群搞过.Orangepi 有 2G 的板子,感觉一个是玩 平台 一个玩性价比。
我还是比较支持 Orange,价格亲民,适合爱折腾的人,我今天移植了 H5 的 Python gpio,编译没有报错,也不知道具体用起来怎么样、。
& & 22:34:21 +08:00
加个小音箱,主要是当闹钟用了……
之前折腾了放音乐,报天气,报公交。
& & 22:41:55 +08:00
HomeKit 加 Kodi,再买几个米家的智能家居配件,感觉还行吧
& & 22:57:48 +08:00 via Android
@ 由于觉得 pi 性能太差,我搞了个 g4560?,主机跑 win10 + smb + dlna,hyperv 跑 Ubuntu 作路由下载和透明代理,24 小时开着的话,30 来 W 应该挺多的。另外风扇在晚上还是有些小噪音的。
& & 17:14:50 +08:00 via Android
@ 14s 启动很快吗?你用的那个系统啊
& & 18:01:14 +08:00
@ 我感觉不错了,很多机械硬盘的机器比这个启动慢,系统是 raspbian
& & 18:49:41 +08:00 via iPhone
求 GPIO 学习的资料啊,感觉没有好的资料
& & 20:16:38 +08:00 via Android
@ 你试试 raspbian 的 lite 版,快的很!
& & 20:36:53 +08:00 via iPhone
@ 没有图形界面的系统有什么可比性
& & 20:45:38 +08:00
感觉 pi 的配置太低了。
去年把闲置的寨板拆了屏幕装上 Ubuntu server's 用来开一些低资源占用的游戏服务器,web,一些服务,下载。
开机键坏了,现在每次断电开机都得短接。速度倒是不错,USB3.0 外接千兆网卡,128G SSD,4G 内存,自带 UPS (电池)被动散热。
OS: Ubuntu 16.04 xenial
Kernel: x86_64 Linux 4.4.0-72-generic
Uptime: 46d 9h 2m
CPU: Intel Core M-5Y10c CPU @ 2GHz
RAM: 1644MiB / 3876MiB
& & 07:58:03 +08:00 via Android
@ 图像界面自己装,cli 足够了!
& & 10:56:47 +08:00
@ GitHub 上有
& & 10:59:34 +08:00
@ 玩 PI 的玩的不是性能,而是平台资源。你把 Ubuntu 换成 Debian 你会发现速度还要快呢。换成 Arch,你会发现,速度又更快乐。我 pi 装 Arch 很轻量、至于游戏服务器的话,就 MC 吧.
& & 13:05:21 +08:00
我的树莓派已经吃灰一年多了,当初就不该买它,浪费 200 多块钱,唉。
& & 23:24:50 +08:00
@ 2B ?我现在就玩 Orange Pi
Zero,256M 都用。感觉买了 2B 就是收藏的.
& & 09:27:25 +08:00
话说 ubuntu 做路由好使嘛 感觉应该很复杂吧····
例如流控功能···
& & 11:05:57 +08:00
配置 PAC 让 AppleTV 分流翻墙
& & 11:07:26 +08:00 via Android
@ 自己家用,并没有流控。主要是不想开两个虚拟机,又担心现有的软路由安装,编译有些东西时不方便。
& & 16:57:21 +08:00
做了个定时浇花器
& & 18:20:41 +08:00
@ 可以,就是折腾有点烦了,例子很多都是用 Arduino 做的。如果树莓派+Arduino 的话,通讯不是问题,但是没有具体的例子还是不敢玩呀。。
& & 18:50:20 +08:00
围观,准备入手一台
& & 10:55:08 +08:00
每天都会看几眼,一直想做个壳子,凑合了快两年了。
& & 23:21:09 +08:00
@ 微雪的屏,有点贵了。。用 3D 打印壳子吧。、
& &310 天前
@ 好厉害的样子
& &175 天前
借楼收个 3b 玩
& &104 天前
话说你这个壳子应该是全透明的吧。亚克力板子后面那个纸是保护的应该撕掉。。。
& &103 天前 via iPhone
@ 当年是临时凑合,没想到一凑合就两年
& · & 2762 人在线 & 最高记录 3541 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.1 · 24ms · UTC 10:03 · PVG 18:03 · LAX 03:03 · JFK 06:03? Do have faith in what you're doing.[Docker]使用Docker为树莓派做内网穿透 - 简书
[Docker]使用Docker为树莓派做内网穿透
最近买了一个树莓派 Model 3B放在了办公室的桌子上,让它平时替我跑一些脚本,好不惬意。但是当下班回家后就与它失去了联系,比较苦恼,为树莓派做内网穿透的想法应运而生。
内网穿透 ssh
使用到的开源项目或工具有:
(非必需)国内Docker云服务提供商 + 备案的域名
编译 ngrok server 和 client
我的编译机器是 VPS Ubuntu 16.06
首先安装必要的工具:
sudo apt-get install build-essential golang mercurial git
clone 源码,签发自己域名的证书用于建立可信的连接。
git clone https://github.com/tutumcloud/ngrok.git ngrokcd ngrok
NGROK_DOMAIN="sample_domain.com" //替换成你自己的域名
openssl genrsa -out base.key 2048
openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.pem
openssl genrsa -out server.key 2048
openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csropenssl x509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt
cp base.pem assets/client/tls/ngrokroot.crt
开始编译:
sudo make release-server release-client
//编译运行于macOS的可以使用如下命令
sudo GOOS=darwin GOARCH=amd64 make release-server release-client
//编译运行于树莓派的可以使用如下命令
sudo GOOS=linux GOARCH=arm make release-server release-client
编译完成后可以发现 bin目录出现一个 ngrokd的二进制可执行文件,说明编译是成功的。
连接 ngrok server 和 ngrok client
我在VPS上,使用如下命令开启了一个 ngrok server, 可以通过 8081 和 8082 端口访问转发到 ngrok client, 只差客户端来连接了。
sudo ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="sample_domain.com" -httpAddr=":8081" -httpsAddr=":8082"
在树莓派上,建立一个简单的配置文件 ngrok.cfg:
server_addr: sample_domain.com:4443
trust_host_root_certs: false
运行命令:
./ngrok -subdomain pi -proto=http -config=ngrok.cfg 80
不出意外,可以看到终端会输出 Tunnel Status onlie的字样,然后我们通过 pi.sample_domain.com:8081访问的请求就会转发到树莓派的 80端口上。
去掉该死的 :8081,我只想通过域名就能访问
ngrok server 在不指定 httpAddr的情况下会使用 80端口
Docker镜像制作
ngrok和 nginx都在抢 80端口该怎么办??显然 nginx更重要,所以我打算用 Docker欺骗 ngrok,让它误以为自己绑定到了机器的 80端口。
工程目录结构如下:
.├── Dockerfile
├── ngrok
└── run.sh
Dockerfile 如下:
FROM hub.c.163.com/public/ubuntu:16.04
MAINTAINER summerbabybiu admin@stephenw.cc
ENV NGROK /opt/ngrok
ENV DOMAIN sample_domain.com //替换你自己的域名
EXPOSE 80 443
COPY ngrok/bin/ngrokd $NGROK/
COPY ngrok/server.crt $NGROK/ssl.crt
COPY ngrok/server.key $NGROK/ssl.key
COPY ngrok/server.csr $NGROK/ssl.csr
COPY run.sh $NGROK/
RUN chmod +x $NGROK/run.sh
CMD .$NGROK/run.sh
其中 run.sh 内容如下:
/opt/ngrok/ngrokd -tlsCrt /opt/ngrok/ssl.crt -tlsKey /opt/ngrok/ssl.key -domain "sample_domain.com"
然后在工程目录下执行:
//$REPO_NAME 你的 repo名称
//$TAG 你的镜像 tag
docker build -t $REPO_NAME:$TAG .
不出意外地,镜像 build成功,然后我把它 push 到了 Docker Hub。在 VPS上,把镜像 pull下来,执行命令:
docker run -d -p 127.0.0.1:8080:80 -p 127.0.0.1: -p
$REPO_NAME:$TAG
此时再次尝试树莓派连接,然后 VPS配置一下 pi.sample_domain.com proxy_pass 到 127.0.0.1:8080, 你就会发现可以不带端口访问到树莓派了!
树莓派的 ngrok client 自动启动与 ssh 穿透
ssh 穿透和 http 原理差不多,不过它不需要分配子域名,只需要简单的端口建立 tcp连接。编写一个 ngrok client的配置文件:
server_addr: sample_domain.com:4443
trust_host_root_certs: false
subdomain: pi
remote_port: 59900
然后再次通过命令启动:
ngrok client 二进制被我放在了 /opt/ngrok下,配置文件被我放在了 /opt/config下
/opt/ngrok/bin/linux_arm/ngrok -config=/opt/config/ngrok.cfg start http ssh
这样启动后,可以通过 59900端口 ssh到树莓派上。
还不够,目前的 ngrok client启动处于阻塞态,一旦 tty失去连接就会断开。为此我配置了一个 systemd service:
/etc/systemd/system/ngrok.service
Description=ngrok
After=network.target
Type=simple
ExecStart=/opt/ngrok/bin/linux_arm/ngrok -config=/opt/config/ngrok.cfg start http ssh
WantedBy=multc-user.target
然后通过 systemctl enable ngrok.service来使其开机自启,service ngrok start来使其自动启动。
优化 ngrok server的连接速度
我的 VPS地理位置处于日本,我在家时访问树莓派会比较慢(150ms左右),但是单独为一个树莓派开一台国内的虚机很不划算(月花费65元左右),于是我想到可以托管在 Docker云服务商那边。具体做法很简单,在 Docker云服务商提供的控制台运行刚才 build好的镜像,然后绑定你的域名(需要备案),根据 docker容器运行实际提供出来的端口对 client端的配置文件端口稍作修改就可以建立连接了。实测连接速度在 30ms左右,并且费用降到了 10-15元每月左右。
这只是 流量密集型的操作,所以实际上非常低的云服务配置也能提供非常多稳定的连接,性价比非常高。
手机SSH到远程服务器可以安装 Serverauditor这一款免费的 App,亲测实用。
http://stephenw.cc
我的博客部分文章讲同步至简书。 如果把花生壳类比为使用别人搭好的ss服务,那么自建Ngrok就是使用自己的ss服务,可见自搭Ngrok的优势不言而喻,流量费用十分经济,速度,稳定性和安全性将远远胜过花生壳。 现在花生壳是一种比较流行的穿透内网的方式,不过其稳定性随着使用人数...
在本文中,你学到了树莓派是什么,它为什么存在,如何购买树莓派以及你需要哪些外设来让树莓派启动并运行。你知道了树莓派可用的操作系统并且知道如何获取Raspbian的副本。你还学会了如何让你的树莓派启动并运行,这样就可以学习Python了。本文总结了一些排除树莓派启动故障的技巧...
概述 为什么自己搭建ngrok服务呢?原因很简单,官方如果绑定域名要收费啊,自己有服务器,所以就自己搭建一个好了,要求的服务器配置又不高,说实在的树莓派IO真的惨不忍睹,我的系统装在u盘里还是卡卡卡不管怎么说,先把树莓派扔到公网上再说 搭建ngork服务 首先当然要安装go...
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式...
这是个什么东西? 简单来说,我们要做一台比较特别的&路由器& 什么是树莓派? Raspberry Pi,中文名为“树莓派”,可以认为是一个功能强大的ARM单片机开发板,也可以认为是一台只有信用卡大小的电脑。因为可以安装嵌入式Linux,所以扩展性极强。 这里是树莓派的官网 ...
最近几天,因为质子的大力助攻,写起代码来帅的不行,我已经成为质砸迷妹& & 我要好好做人,爱智求真。真心的。 全班最近(除了化妆品)笼罩在一种受虐与焦虑中,合成香料和萜类化学的大头吓得大家跪着通宵,扼腕长鸣,死去活来。 万幸还活着。 昨晚基本看完知乎某巨长问答,关于“985...
博客原文:https://nmchgx.com/configure-ftp-on-centos/ 服务器启用FTP服务,可以很方便的在服务器和本地设备之间传输数据,以下是在Centos6.5环境下配置的记录,同样适用于其他版本的Centos6.x系统。 Step1:安装vs...
经过商场你会看到有很多打折的衣服,路过广场你会看到不少面容惨淡的人。这本是两种不同性质的事物却有着共同点:被打过折。通过打折可以兜售出积压的商品,即使质量再差也会卖出,而人生不是商品经不起打折! 提及打折,或许很多人很兴奋、开心,因为自己可以花更少的钱买到自己想要的东西,这...
这部以「丧」而在中国大火的美剧《马男波杰克》,第四季终于回归了! 可能你没看过它,但你一定见过出自此剧的金句截图。 剧中的台词,随便戳上几张,都是砒霜: 它在中国首先火起来的地方是微博,各类截图成为最流行的毒鸡汤。同时,它也被朋友圈很多人,当作装逼的最佳素材,又或者是怼人的...
阴天的懒觉 阴暗的一本《悬崖山庄奇案》 玩不坏的替身反转梗,阿婆套路深啊 马普尔小姐《谋杀启事》来一回,波洛大侦探又来一回。阳光之下无新事,不就这些来来去去的梗和人性黑暗,难为阿婆还写这么多本。表现这个过程却是高技术含量的。 上帝掷骰子吗?把一切简单混合成复杂。我困在网中央...树莓派的 docker base image 该如何选择
21:23:08 +08:00 · 1624 次点击
arm 架构的 image 比较少,不少都得自己 build
之前先是用
的 base image,后来用官方的
,今天看 docker hub armhf 的 repo 已经不维护了,取而代之的是对架构分类更细的 arm32v5,arm32v6,arm32v7,arm64v8 这几个 repo,虽说 pi3 是 64 位的 cpu,但目前没找到功能完善的 64 位系统,v5 也不适合,arm32v6 和 arm32v7 这两个里选的话好像 arm32v6 适用性更广,包括 pi 1 或 zero 也能运行,不知道选 arm32v6 的镜像当 base image 的话在 pi3 上会不会对性能和使用有影响
5 回复 &| &直到
09:28:20 +08:00
& &320 天前
Resin 的 base image 有没有试过?看介绍似乎挺不错的
& &320 天前 via iPhone
@ 试过 resin 的,不过后来基本是用的 arm32v6 的 Alpine 和 arm32v7 的镜像,因为基本和 library 里的镜像是一致的,resin 的镜像有点太多了,docker hub 的搜索又不太好用,加上 arm32v7 的基本够用就没用 resin 的镜像了
另外它的系统 resin os 倒是挺特别的,基本是为物联网准备的,可以完全在云端操作,git push 之后自动 build,有点 ci/cd 的意思,不过好像只能部署一个容器,也可能是我用的姿势不对
& &320 天前
如果用 arm32v6/7 作为 base image,是不是必须要在树莓派上 build image ?
我看中 resin 的 cross build 比较方便,在 github 上放了 dockerfile,docker hub 上创建一个 auto build,image 就在云上 build 好了。
像它的 [blog]( ) 中的例子:
```
FROM resin/armv7hf-debian
RUN [ &cross-build-start& ]
RUN apt-get update
RUN apt-get install python
RUN pip install virtualenv
RUN [ &cross-build-end& ]
& &320 天前 via iPhone
@ 它那篇文章里介绍的方法其实就是在 arm 镜像中加入 qemu 来实现在 x86 平台进行编译
我试过的在 x86 上编译树莓派镜像有两种方法,都是要用 qemu
一种就是它这样在 Dockerfile 的编译部分前后加入 RUN [ &cross-build-start&]和 RUN [ &cross-build-end&],这种需要提前把 qemu 和它示例项目里的脚本加入镜像,这样可以在任何 x86 机器上进行 build,包括 dockerhub
另一种方法是通过在 x86 机器上运行:
```
docker run --rm --privileged multiarch/qemu-user-static:register --reset
```
之后就可以在这台机器上 build 或者是 run 任何 arm 镜像了,并且不需要修改原来的 Dockerfile
这两种方法都是可以在 x86 机器上 build arm image 的,不过 qemu 速度相当慢,大概只有运行 x86 镜像速度的 1/10,dockerhub 的自动 build 是有资源限制的,1cpu, 2g ram, 30g 硬盘,2 小时,大一点的项目用 qemu build 很容易就超时了,所以像 php 这种镜像还是要在树莓派上编译的,另外任何用到 gosu 的镜像是没办法用 qemu 的,会直接报错,这个问题存在很久了
除了用 dockerhub 其实也可以用 ci/cd 来 build,像 arm32v7 的镜像记得看日志是用 Jenkins 连了一个 pi 当 slave,另外 drone ci 现在也可以选择 arm 设备当 agent
我在 dockerhub 上建的这个 repo:
,多数镜像就是用的第一种方法在 dockerhub 上自动 build 的,也就是你提到的博客里的方法
& &319 天前 via Android
@ 很有用的信息,谢谢!
& · & 2762 人在线 & 最高记录 3541 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.1 · 16ms · UTC 10:03 · PVG 18:03 · LAX 03:03 · JFK 06:03? Do have faith in what you're doing.

我要回帖

更多关于 树莓派 ubuntu 卡不卡 的文章

 

随机推荐