6473| 2
|
[教程] 树莓派部署Docker及PORTAINER教程 |
3 创造力 | 回复本帖可获得 1 创造力奖励! 每人限 1 次 |
可是,他们的部署步骤都太复杂了!而且还有可能相互影响相互冲突。一旦玩坏系统又是永无止境的重新刷写。 现在有了Docker,一切困难迎刃而解。 可以直接下载由官方打包完成的应用镜像(如Wordpress)并一键部署,也可以快速完整地体验其它Linux发行版(如CentOS)。 多个镜像之间互不干扰,随便折腾,顶多玩坏容器不也会玩坏系统。 相比完全隔离的虚拟机而言,容器消耗的系统资源更少,树莓派的小身板也可以同时运行数个容器执行不同的任务。 举个例子 用上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欢迎信息和使用提示后自动退出。 这是我执行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] 能够显示我们设置的镜像源信息说明添加成功 第二部分:安装PORTAINER Docker默认是没有任何界面的,要操作镜像就只能像前面运行hello-world测试一样敲进去执行,如果需要进行一些复杂的操作就很令人头疼了,因此需要安装一个新手友好一点的界面来帮助大家使用,也就是PORTAINER。 此外PORTAINER还具备集群管理能力,如果你用上一堆树莓派的话…… 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 第一次登陆会要求设置管理员密码 在初始设置界面,选择Local本地管理,我们只用它管理树莓派自己上面运行的Docker容器 然后就可以看到主界面了,点击local进入本地管理 在本地——容器(Containers)里可以看到我们正在使用的portainer控制台,和刚才测试时运行的hello-world,它已经自动停止了。 第三部分:试着部署一个镜像 就拿论坛上这个HomeAssistant安装教程开刀吧,看看这步骤多复杂啊! 搜索并下载镜像 到hub.docker.com搜索homeassistant,注意homeassistant比较特殊,树莓派需要使用专用版本 点进去之后可以看到右边有下载它的方法 使用这个命令来下载它 [mw_shl_code=shell,true]sudo docker pull homeassistant/raspberrypi3-homeassistant[/mw_shl_code] 虽然也可以在PORTAINER中直接下载运行,但是由于有的镜像容量大下载慢,PORTAINER并不会显示下载进度,为了方便起见选择先用命令下载完成再进去运行 启动镜像 创建一个新的容器 Docker容器和外部网络是隔离开的,相当于树莓派主系统是一个路由器,因此需要映射端口才能使用。否则只能Docker容器访问外面,外面是没法访问Docker容器的。 如果主机上相同的端口号已经被占用,也可以映射到别的端口号,非常灵活。 然后输入树莓派IP:8123例如我的http://192.168.9.173:8123,就可以看到初次使用的设置界面了 是不是比传统的安装教程简单了许多? 此外运行了homeassistant容器之后,树莓派系统内存占用增加并不多,并不会比直接运行更消耗多少系统资源,即使是树莓派的1G内存,也足够运行好几个容器一起工作 |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed