docker设置镜像源 树莓派_树莓派部署Docker及PORTAINER教程

我想在树莓派上部署Wordpress个人博客

我想在树莓派上部署nextCloud私人云盘

我想在树莓派上部署mosquitto物联网服务器

我想在树莓派上部署HomeAssistant智能家居中心

可是,他们的部署步骤都太复杂了!而且还有可能相互影响相互冲突。一旦玩坏系统又是永无止境的重新刷写。

现在有了Docker,一切困难迎刃而解。

可以直接下载由官方打包完成的应用镜像(如Wordpress)并一键部署,也可以快速完整地体验其它Linux发行版(如CentOS)。

多个镜像之间互不干扰,随便折腾,顶多玩坏容器不也会玩坏系统。

相比完全隔离的虚拟机而言,容器消耗的系统资源更少,树莓派的小身板也可以同时运行数个容器执行不同的任务。

举个例子

用上Docker前后对比

201908231512342742.png (27.84 KB, 下载次数: 1)

2019-8-23 15:12 上传

内容速览

安装Docker——核心内容

安装PORTAINER——一个Docker的网页界面,不装就只有对着黑框敲命令咯

部署一个镜像——看看究竟有多方便

第一部分:安装docker下载docker官方提供的一键安装脚本

[mw_shl_code=shell,true]curl -fsSL https://get.docker.com -o get-docker.sh[/mw_shl_code]

运行一键安装

[mw_shl_code=shell,true]sudo sh get-docker.sh[/mw_shl_code]

这一步需要联网下载不少文件,如果网速较慢,花上一两个小时也是可能的,请耐心等待

安装完成之后,试着运行一下hello-world镜像看看是否能正常工作

[mw_shl_code=shell,true]sudo docker run hello-world[/mw_shl_code]

docker会自动联网下载并执行这个镜像,该镜像会输出hello world欢迎信息和使用提示后自动退出。

201908231530024615.png (32.44 KB, 下载次数: 1)

2019-8-23 15:30 上传

这是我执行hello-world镜像的输出信息

Tips:

由于众所周知的原因,连接海外Docker Hub服务器的速度很慢,而后续我们无论是部署还是升级镜像都需要联网下载大量数据的,为了提升速度我们在这里将Docker hub官网替换为国内中国科学技术大学镜像源。

编辑配置文件 /etc/docker/daemon.json

[mw_shl_code=shell,true]sudo  nano /etc/docker/daemon.json[/mw_shl_code]

添加如下内容

[mw_shl_code=shell,true]{

"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]

}[/mw_shl_code]

按Ctrl+X退出,讯问是否保存按Y确定

重新启动docker

[mw_shl_code=shell,true]sudo systemctl restart docker[/mw_shl_code]

查看一下是否添加成功

[mw_shl_code=shell,true]sudo docker info[/mw_shl_code]

201908231534336683.png (386.09 KB, 下载次数: 1)

2019-8-23 15:34 上传

能够显示我们设置的镜像源信息说明添加成功

第二部分:安装PORTAINER

Docker默认是没有任何界面的,要操作镜像就只能像前面运行hello-world测试一样敲进去执行,如果需要进行一些复杂的操作就很令人头疼了,因此需要安装一个新手友好一点的界面来帮助大家使用,也就是PORTAINER。

此外PORTAINER还具备集群管理能力,如果你用上一堆树莓派的话……

201908231535507249.png (156.33 KB, 下载次数: 1)

2019-8-23 15:35 上传

PORTAINER本身就是一个Docker镜像,安装非常简单,从这上面也可以体现Docker的便捷

[mw_shl_code=shell,true]sudo docker volume create portainer_data[/mw_shl_code]

先创建一个容器

[mw_shl_code=shell,true]sudo docker run -d -p 8000:8000 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer[/mw_shl_code]

Docker会自动下载并运行镜像

待执行完毕就可以直接访问网页界面了,地址是“树莓派IP:9000”,例如我的是http://192.168.9.173:9000

201908231541376625.png (25.71 KB, 下载次数: 1)

2019-8-23 15:41 上传

第一次登陆会要求设置管理员密码

201908231541542321.png (134.65 KB, 下载次数: 1)

2019-8-23 15:41 上传

在初始设置界面,选择Local本地管理,我们只用它管理树莓派自己上面运行的Docker容器

201908231542185228.png (123.67 KB, 下载次数: 1)

2019-8-23 15:42 上传

然后就可以看到主界面了,点击local进入本地管理

201908231542404820.png (249.72 KB, 下载次数: 1)

2019-8-23 15:42 上传

在本地——容器(Containers)里可以看到我们正在使用的portainer控制台,和刚才测试时运行的hello-world,它已经自动停止了。

第三部分:试着部署一个镜像

就拿论坛上这个HomeAssistant安装教程开刀吧,看看这步骤多复杂啊!

搜索并下载镜像

到hub.docker.com搜索homeassistant,注意homeassistant比较特殊,树莓派需要使用专用版本

201908231544123392.png (312.87 KB, 下载次数: 1)

2019-8-23 15:44 上传

点进去之后可以看到右边有下载它的方法

201908231544268266.png (8.49 KB, 下载次数: 1)

2019-8-23 15:44 上传

使用这个命令来下载它

[mw_shl_code=shell,true]sudo docker pull homeassistant/raspberrypi3-homeassistant[/mw_shl_code]

虽然也可以在PORTAINER中直接下载运行,但是由于有的镜像容量大下载慢,PORTAINER并不会显示下载进度,为了方便起见选择先用命令下载完成再进去运行

启动镜像

创建一个新的容器

201908231552387298.png (265.16 KB, 下载次数: 1)

2019-8-23 15:52 上传

201908231552571645.png (236.21 KB, 下载次数: 2)

2019-8-23 15:52 上传

Docker容器和外部网络是隔离开的,相当于树莓派主系统是一个路由器,因此需要映射端口才能使用。否则只能Docker容器访问外面,外面是没法访问Docker容器的。

如果主机上相同的端口号已经被占用,也可以映射到别的端口号,非常灵活。

然后输入树莓派IP:8123例如我的http://192.168.9.173:8123,就可以看到初次使用的设置界面了

201908231553218281.png (19.76 KB, 下载次数: 1)

2019-8-23 15:53 上传

是不是比传统的安装教程简单了许多?

201908231553424485.png (499.4 KB, 下载次数: 1)

2019-8-23 15:53 上传

此外运行了homeassistant容器之后,树莓派系统内存占用增加并不多,并不会比直接运行更消耗多少系统资源,即使是树莓派的1G内存,也足够运行好几个容器一起工作

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值