美文网首页Docker容器玩转树莓派工具软件
家庭数字化系统 - 准备树莓派

家庭数字化系统 - 准备树莓派

作者: FrostHe | 来源:发表于2018-12-22 15:49 被阅读13次

    参考资料:

    本文目录:

    背景

    作为一名技术宅,自然是希望自己家里的「数字化系统」越 fancy 越好,但考虑到腰包里毛爷爷的数量,不得不搜寻物美价廉的方案来实现一些「非刚需,但 Nice to Have」的需求,这些需求包括但不限于:

    • 局域网多设备的文件共享
    • 7 * 24小时无人值守的下载器
    • 绕过第三方云存储的私有云同步方案
    • 家庭媒体中心的搭建
    • 家庭智能设备的网关系统

    笔者打算针对上述罗列的内容单辟一个系列,以一篇一个主题覆盖其中所有的细节。如果你也有以上列表中的一项或多项需求,不妨继续往下看。

    硬件准备

    为了达成这一愿景,需要在基础设施上投入一些成本,其中最重要的是家庭服务器。我们对家庭服务器的期待至少有: 性能稳定,功耗低,价格低廉。如今爆火的树莓派非常符合家庭小型服务器的要求,网络上关于树莓派的文章很多,这里不再赘述。


    树莓派 3b+.jpg

    假设我们手上已经有了一台树莓派(2 代以上的版本都可以),还需要准备以下设备:

    • 网线 * 1
    • Micro SD 卡 * 1,容量大于 8 GB
    • Micro SD 读卡器 * 1
    • 键盘 * 1
    • HDMI 线 * 1
    • 显示器 * 1
    • USB 电源线 * 1

    软件准备

    • Raspbian Stretch Lite 系统镜像 -> 下载地址
    • Etcher 映像烧录软件 -> 下载地址: 将树莓派系统镜像烧录至 Micro SD 卡的工具软件

    官方提供了 3 个版本的系统镜像,本文为了尽量保持简单,选择最为精简的版本 Raspbian Stretch Lite,此镜像是基于命令行工具的版本,本系列文章均基于命令行工具版本的系统镜像介绍,如果对命令行界面不熟悉,可以选择另外两个自带桌面 GUI 的版本

    安装及配置系统镜像

    1. 使用 Etcher 将 Raspbian Stretch Lite 烧录至 Micro SD 卡中


      将 Image 烧录至 Micro SD 卡中
    2. 将 Micro SD 卡插入树莓派
    3. 将网线,电源线,HDMI 线和键盘与树莓派相连
    4. 树莓派开机,第一次启动大概需要 1-2 分钟
    5. 使用预设用户/密码为 pi/raspberry 登录系统
    6. 键入 sudo raspi-config 进行如下设置:
      树莓派配置界面
      1. -> 1 Change User Password,修改 pi 用户登录密码
      2. -> 2 Network Options -> N1 Hostname,更改 Hostname
      3. -> 2 Network Options -> N2 Wi-fi,设置家庭局域网的 Wifi,不管是使用无线还是有线网络,确保树莓派与家庭中的其他设备位于同一个局域网即可
      4. -> 5 Interfacing Options -> P2 SSH,启用 SSH,对于使用命令行或需要通过其他主机远程管理树莓派的需求,这一步是必须的
    7. 配置完成后,重启树莓派
    8. 在 PC 上使用 SSH 客户端软件(如 PuTTY 等)远程登录树莓派
    9. (可选)为了防止 IP 地址过期,可通过路由器管理界面给树莓派分配固定的 IP 地址
    将树莓派绑定静态 IP 地址

    至此,树莓派的准备工作就完成了,其网络拓扑如下:


    树莓派接入家庭网络的拓扑图

    为树莓派 Raspbian 系统安装 Docker 引擎

    之所以将这一步纳入树莓派的准备工作中,是因为笔者发现在实际使用过程中,几乎所有常见的服务都发布了其相应的 Docker 镜像。对容器化不熟悉的朋友可以参考 iOS 对 App 的管理思路: 每个 App 都从统一的入口(App Store)下载,在单独的隔离环境运行,卸载时也不会出现诸如 Windows 上大量残余文件需要手动清理的问题。

    对计算机(特别是服务器)的管理和维护是非常乏味的工作,相信各位在使用 Windows 系统时或多或少都有过系统盘空间越来越少,系统使用起来越来越卡顿的经验。而服务器是以高可用性为宗旨的,如何最大程度的降低维护成本是管理服务器的首要考量。Docker 解决了不同的服务在部署时由于依赖问题而污染宿主机的问题。使得安装和部署某个服务在单独的隔离环境中进行,简化了流程,也更加清晰。

    安装 Docker 引擎

    树莓派官网提供了安装 Docker 引擎的脚本,下载安装脚本并执行:

    $ curl -sSL https://get.docker.com | sh
    
    Client:
     Version:      18.05.0-ce
     API version:  1.37
     Go version:   go1.9.5
     Git commit:   f150324
     Built:        Wed May  9 22:24:36 2018
     OS/Arch:      linux/arm
     Experimental: false
     Orchestrator: swarm
    
    Server:
     Engine:
      Version:      18.05.0-ce
      API version:  1.37 (minimum version 1.12)
      Go version:   go1.9.5
      Git commit:   f150324
      Built:        Wed May  9 22:20:37 2018
      OS/Arch:      linux/arm
      Experimental: false
    If you would like to use Docker as a non-root user, you should now consider
    adding your user to the "docker" group with something like:
    
      sudo usermod -aG docker pi
    
    Remember that you will have to log out and back in for this to take effect!
    
    WARNING: Adding a user to the "docker" group will grant the ability to run
             containers which can be used to obtain root privileges on the
             docker host.
             Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
             for more information.
    

    pi 用户加入 docker 群组

    $ sudo usermod -aG docker pi
    

    如提示所说,用户 pi 加入群组后需要再次登录以生效

    再次以 pi 用户登录树莓派,执行 docker -v,看到版本号即表示安装成功:

    $ docker -v
    
    Docker version 18.05.0-ce, build f150324
    

    至此,树莓派准备就绪,可以开始部署各种应用服务了。

    相关文章

      网友评论

        本文标题:家庭数字化系统 - 准备树莓派

        本文链接:https://www.haomeiwen.com/subject/gajikqtx.html