Docker容器重量轻,只需要最少的资源,可以更快地交付软件,这使得它们对于树莓派等SBC非常有用。2022世界杯阿根廷预选赛赛程如何定义和运行多容器docker应用程序?Docker-Compose就是答案。
阅读时间:
12
分钟
Docker是一个著名的用于构建、部署、运行和共享容器应用程序的开放平台。容器是一个松散隔离的环境。
由于隔离性和安全性,Docker可以快速交付软件,并且只需要最少的资源。2022世界杯阿根廷预选赛赛程
开发人员大多更喜欢Docker,因为它可以加快开发过程。速度的提高是因为可以将应用程序与基础设施分离。
Docker- compose是一个用于定义和运行多容器Docker应用程序的工具。
与虚拟机相比,Docker容器是轻量级的,如果你使用的是树莓派,这是至关重要的。
树莓派是最受欢迎的小型低成本计算机,最初用于学习编程,但后来被用于构建硬件和家庭自动化项目。此外,如今树莓派广泛应用于工业应用。
在本教程中,我们将向您展示在树莓派上安装Docker Compose的步骤。请继续阅读以获得更多详细信息。
如果您已经安装了树莓派,请跳过此步骤。
的官方树莓派成像仪是在树莓派上安装操作系统的简单方法。imager自带工具,用于准备SD卡,并将SD卡与操作系统一起flash安装。
下载并安装Pi Imager。如果你要运行无头安装,你应该选择树莓派OS(32位)Lite。对于桌面版本,请使用“完整”版本。
为了确保在启动树莓派时启用SSH,请在SD卡的根目录中添加空文件SSH。
如果你在没有屏幕或键盘的情况下运行树莓派,这一步是必不可少的。要将树莓派连接到Wifi网络,请确保在初始启动时使用了网络详细信息。
定义一个wpa_supplicant.conf文件,并确保它使用换行符(LF)。
使用以下默认凭证通过SSH连接;
触摸ssh
通过创建一个名为wpa_supplicant.conf在引导的根目录中。之后,粘贴以下内容:
设备启动后,可以通过SSH协议连接到设备的IP地址。你可以从路由器的网络界面获取这个地址。
使用:
ssh Pi @树莓派IP地址
默认用户名- pi
标准密码-树莓
第一次连接时需要修改密码。你还可以在方便的树莓派配置工具中配置其他有价值的东西:
sudo raspi-config
更新和升级系统,以确保您安装了最新版本的软件。要做到这一点,打开一个终端窗口并运行以下命令;
Sudo apt-get update
Sudo apt-get升级
如果你在网络上使用树莓派主机,请为它分配一个.local域。.local域名可以让你通过一个简单的网址访问你的Pi。使用.local域,您不必记住IP地址。
要创建.local域,请在你的Pi上安装Avahi Daemon;
Sudo apt-get安装avahi-daemon
完成后,您不需要重新启动设备。树莓派将开始识别本地网络查询其主机名。缺省情况下,主机名为raspberrypi。
安装git,因为你以后会需要它。
Sudo apt安装git-
升级包
Sudo apt更新
Apt列表——可升级
Sudo apt完全升级
您可以使用提供的方便脚本安装Dockerget.docker.com。
要做到这一点,运行命令;旋度-fsSLhttps://get.docker.com- o get-docker.sh
无论何时从internet下载脚本,在本地运行之前都要检查它们。
通过执行安装脚本;
Sudo sh get-docker.sh
自动地,只有根用户或具有管理权限的用户可以运行容器。如果您以根用户身份注销,则可以使用sudo前缀。
为了执行docker命令,避免每次都输入sudo,还可以在docker组中添加on-root用户。
向Docker组中添加更多帐户的语法如下:
sudo usermod -aG docker ${USER}
增加现有用户的权限。
sudo usermod -aG docker ${USER}
检查它是否在运行:
组$ {USER}
如果你运行上面(c)中的命令,重新启动树莓派以应用更改。或者,您可以运行命令;
sudo su - ${USER}
要确认Docker安装正确,请查看Docker版本。
通过键入;
码头工人版本.
输出将显示Docker版本和一些额外信息。如果你想了解整个系统的信息,即内核版本、容器和映像的数量,以及更全面的描述,请输入:
码头工人信息
或者,您也可以运行hello-world映像。测试Docker设置是否正确的最好方法是运行你好世界容器。
你可以输入以下命令:
Docker run hello-world
该软件将与Docker守护进程取得联系,提取“hello-world”映像,并根据该映像生成一个新容器。
在完成所有步骤之后,输出应该让您知道这一点您的安装似乎正在正常工作.
删除图像:
Docker图像rm hello-world
您可以从项目发布页面下载的预构建二进制文件中安装Docker Compose。
要安装Docker-Compose,你需要使用pip3。因此,需要安装python 3和pip3。如果不存在,执行以下命令;
Sudo apt-get libffi-dev libssl-dev
Sudo安装python3-dev
Sudo apt-get install -y python3 python3-pip
安装了pip3和python3后,可以通过命令安装Docker-Compose;
Sudo pip3安装docker-compose
8.允许Docker系统服务在启动时启动容器
因为它是一个伟大而重要的附加功能,你可以自定义树莓派,让它在启动时自动与Docker系统一起运行服务。
使用命令
sudo systemctl启用Docker
在Docker启动时运行它。重新启动策略设置为除非停止或总是在重新启动后自动重新启动的容器。
示例Docker撰写文件
下面是一个Docker - Compose文件的例子,它启动了三个容器。当启动时,当树莓派全功率循环时,容器将自动启动。
运行此命令使用Docker-Compose启动容器;Docker-compose -f Docker-compose。Yaml up -d
去GitHub上的Docker速度测试项目HYPERLINK“https://github.com/robinmanuelthiel/speedtest”了解更多关于这个样本的信息。
在Docker Hub上,arm兼容映像的数量正在增加。由于64位ARM在一些云提供商中很受欢迎,您可能会发现获得64位Docker容器很容易。
树莓派的设计基于ARM架构。因此,只有一些Docker图像在树莓派上起作用。
所有不适用于ARM设备的Docker映像设计将无法运行。在树莓派上运行为x86/x64和i386架构设计的docker应用程序会导致错误。
当从Docker Hub中寻找映像时,您可以使用操作系统和体系结构进行筛选,以识别完全支持的应用程序。
要自定义解决方案,最好的选择是运行基于官方映像的容器。然后您将增强它并将更改应用到新图像。
不需要重新运行方便的脚本来升级Docker。如果尝试使用已经存在的存储库,可能会导致问题。
使用包管理器升级Docker,使用以下命令:
Sudo apt-get升级
卸载树莓派上的Docker
尽管已经使用了一个方便的脚本进行安装,但是可以通过包管理器轻松地消除Docker:
Sudo apt-get purge docker-ce
根据软件版本,你需要一个额外的命令来消除Docker:
Sudo apt-get purge docker-ce-cli .
使用实例删除残留图像、卷、容器和其他相关数据。
Sudo rm -rf /var/lib/docker
您需要删除手动编辑的配置文件。