介绍
Docker是用于在容器中创建,部署和运行应用程序的工具。该软件在开发人员中很受欢迎,因为它可以加快开发过程,并且不占用大量资源。
Docker容器是轻量级的,尤其是与虚拟机相比。如果您是Raspberry Pi用户,此功能特别有用。
如果您需要在Raspberry Pi上安装Docker的帮助,请阅读有关如何在Raspberry Pi上安装Docker的分步指南。
先决条件
- 运行Raspbian操作系统的Raspberry Pi
- Raspbian Stretch(精简版)
- 启用S??SH连接
如何在Raspberry Pi上安装Docker
要在Raspberry Pi上安装Docker,您需要执行以下步骤:
- 更新和升级您的系统。
- 下载安装脚本并安装软件包。
- 允许非root用户执行Docker命令。
- 通过检查Docker版本来验证安装。
- 通过运行“ hello-world”容器来测试设置。
步骤1:更新和升级
首先更新和升级系统。这样可以确保您安装软件的最新版本。
打开一个终端窗口并运行命令:
sudo apt-get update && sudo apt-get upgrade
为了避免安全和性能问题,请确保经常更新Raspberry Pi。
第2步:下载便利脚本并在Raspberry Pi上安装Docker
继续使用以下命令下载安装脚本:
curl -fsSL https://get.docker.com -o get-docker.sh
使用以下命令执行脚本:
sudo sh get-docker.sh
这将为Raspbian Linux发行版安装必需的软件包。
输出将告诉您系统上正在运行哪个版本的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映像
与大多数其他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
注:根据软件的版本,您可能需要使用额外的命令完全删除泊坞窗:sudo apt-get purge docker-ce-cli
。
要删除剩余的图像,容器,卷和其他相关数据,请运行以下命令:
sudo rm -rf /var/lib/docker
必须手动删除已编辑的配置文件。
结论
现在,您可以在Raspberry Pi上使用Docker,并使用容器开发隔离的轻量级应用程序。