热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在RaspberryPi上安装Docker

介绍 Docker是用于在容器中创建,部署和运行应用程序的工具。该软件在开发人员中很受欢迎,因为它可以加快开发过程,并且不占用大量资源。Docker容器是轻量级的,尤其是与虚拟机相

介绍


 

Docker是用于在容器中创建,部署和运行应用程序的工具。该软件在开发人员中很受欢迎,因为它可以加快开发过程,并且不占用大量资源。

Docker容器是轻量级的,尤其是与虚拟机相比。如果您是Raspberry Pi用户,此功能特别有用。

如果您需要在Raspberry Pi上安装Docker的帮助,请阅读有关如何在Raspberry Pi上安装Docker的分步指南。

有关如何在Raspebby Pi上安装Docker的教程。

先决条件


 

  • 运行Raspbian操作系统的Raspberry Pi

  • Raspbian Stretch(精简版)

  • 启用S​​SH连接


如何在Raspberry Pi上安装Docker


 

要在Raspberry Pi上安装Docker,您需要执行以下步骤:



  1. 更新和升级您的系统。

  2. 下载安装脚本并安装软件包。

  3. 允许非root用户执行Docker命令。

  4. 通过检查Docker版本来验证安装。

  5. 通过运行“ hello-world”容器来测试设置。


步骤1:更新和升级


 

首先更新和升级系统。这样可以确保您安装软件的最新版本。
打开一个终端窗口并运行命令:

sudo apt-get update && sudo apt-get upgrade

在Raspberry Pi上安装Docker之前,更新和升级Raspbian存储库。




 

为了避免安全和性能问题,请确保经常更新Raspberry Pi。




第2步:下载便利脚本并在Raspberry Pi上安装Docker


 

继续使用以下命令下载安装脚本:

curl -fsSL https://get.docker.com -o get-docker.sh

使用以下命令执行脚本:

sudo sh get-docker.sh

这将为Raspbian Linux发行版安装必需的软件包。

如何下载便捷脚本以在Raspberry Pi上安装Docker。

输出将告诉您系统上正在运行哪个版本的Docker。

有关在Raspberry Pi上运行的Docker版本的信息。


步骤3:将非超级用户添加到Docker组


 

默认情况下,只有具有管理特权的用户(root用户)才能运行容器。如果您没有以root用户身份登录,则一种选择是使用sudo前缀。

但是,您也可以将非root用户添加到Docker组,这将允许它执行docker命令。

将用户添加到Docker组的语法为:

sudo usermod -aG docker [user_name]

要添加Pi用户(Raspbian中的默认用户),请使用以下命令:

sudo usermod -aG docker Pi

如果该过程成功,则没有特定的输出。要进行更改,您需要先注销然后再登录。


步骤4:检查Docker版本和信息


 

通过输入以下内容检查Raspberry Pi上Docker的版本:

docker version

输出将显示Docker版本以及一些其他信息。
有关系统范围的信息(包括内核版本,容器和映像的数量以及更多扩展说明),请运行:

docker info

步骤5:运行Hello World Container


 

测试Docker是否已正确设置的最佳方法是运行Hello World容器。
为此,请键入以下命令:

docker run hello-world

该软件将与Docker守护程序联系,提取“ hello-world”映像,并基于该映像创建一个新容器。
完成所有步骤后,输出应通知您安装似乎正常运行

验证Docker安装在Raspberry Pi上是否正确运行。




 

尝试自己创建容器,并了解一些管理Docker容器的最佳实践。




Raspberry Pi Docker映像


 

与大多数其他Linux发行版相反,Raspberry Pi基于ARM体系结构。因此,并非所有Docker映像都能在您的Raspberry Pi上运行。

实际上,所有不是专门为ARM设备设计的Docker镜像都将无法正常工作。在Raspberry Pi上运行专为x86 / x64和i386架构设计的docker-apps将返回错误。

请记住,在搜索要从Docker Hub提取的图像时,请注意这一点。应用架构过滤器以搜索支持的应用。

对于自定义解决方案,最好的办法是基于正式映像运行容器,然后对其进行修改并将更改提交到新映像。


如何在Raspberry Pi上升级Docker?


 

无需重新运行便捷脚本即可升级Docker。此外,如果重新尝试运行便捷脚本,则它尝试访问已添加的存储库时可能会导致问题。

使用软件包管理器通过以下命令升级Docker:

sudo apt-get upgrade

如何在Raspberry Pi上卸载Docker?


 

尽管您使用了便利脚本进行安装,但是您可以使用软件包管理器简单地删除docker:

sudo apt-get purge docker-ce

使用purge命令在树莓派上卸载docker。




 

注:根据软件的版本,您可能需要使用额外的命令完全删除泊坞窗:sudo apt-get purge docker-ce-cli



要删除剩余的图像,容器,卷和其他相关数据,请运行以下命令:

sudo rm -rf /var/lib/docker

必须手动删除已编辑的配置文件。

结论


 

现在,您可以在Raspberry Pi上使用Docker,并使用容器开发隔离的轻量级应用程序。



推荐阅读
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • 开发笔记:Docker 上安装启动 MySQL
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Docker上安装启动MySQL相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 纠正网上的错误:自定义一个类叫java.lang.System/String的方法
    本文纠正了网上关于自定义一个类叫java.lang.System/String的错误答案,并详细解释了为什么这种方法是错误的。作者指出,虽然双亲委托机制确实可以阻止自定义的System类被加载,但通过自定义一个特殊的类加载器,可以绕过双亲委托机制,达到自定义System类的目的。作者呼吁读者对网上的内容持怀疑态度,并带着问题来阅读文章。 ... [详细]
  • 本文介绍了如何在Azure应用服务实例上获取.NetCore 3.0+的支持。作者分享了自己在将代码升级为使用.NET Core 3.0时遇到的问题,并提供了解决方法。文章还介绍了在部署过程中使用Kudu构建的方法,并指出了可能出现的错误。此外,还介绍了开发者应用服务计划和免费产品应用服务计划在不同地区的运行情况。最后,文章指出了当前的.NET SDK不支持目标为.NET Core 3.0的问题,并提供了解决方案。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 处理docker容器时间和宿主机时间不一致问题的方法
    本文介绍了处理docker容器时间和宿主机时间不一致问题的方法,包括复制主机的localtime到容器、处理报错情况以及重启容器的步骤。通过这些方法,可以解决docker容器时间和宿主机时间不一致的问题。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
author-avatar
手机用户2502870941
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有