Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(上)

简介: Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试

前言

在本博客中,实践如何在 Rockchip 3568 设备上通过 Ubuntu 22.04 系统安装和运行 Docker。我会比较 Docker CE 和 Docker.io 两种版本的安装过程、兼容性以及在特定硬件上的表现,为兄弟们提供一个清晰的安装指南和实用的运行笔记。

参考

Linux(31)Rockchip RK3568 Ubuntu22.04上部署 Docker: 问题与解决方案

Linux下搭建RK3568 Docker开发环境

ubuntu 22.04 iptables 运行失败解决方法

方式1:安装 Docker CE on Ubuntu 22.04

# 当时安装完的最后情况
root@btf:/# docker --version
Docker version 26.0.0, build 2ae903e
root@btf:/# docker run hello-world
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.

1. 准备工作

  • 默认的系统镜像源可以是阿里云,也可以选择其他源,如清华源或中科大源。Ubuntu 的系统源文件位于 /etc/apt/sources.list。在修改此文件以添加镜像源之前,最好备份下原文件。
sudo sed -i 's/huaweicloud.com/ustc.edu.cn/g' /etc/apt/sources.list
# 换了以下的不行,最终用的是中科大的源 sudo sed -i 's/mirrors.aliyun.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo sed -i 's/mirrors.aliyun.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list
sudo sed -i 's/mirrors.tuna.tsinghua.edu.cn/mirrors.huaweicloud.com/g' /etc/apt/sources.list
sudo sed -i 's/mirrors.huaweicloud.com/mirrors.cloud.tencent.com/g' /etc/apt/sources.list

2. 更新 APT 索引

  • 执行以下命令以更新 APT 包索引:
sudo apt-get update

3. 卸载旧版本的 Docker

  • 如果之前安装过 Docker,必须卸载可能存在的旧版本。执行以下命令:
sudo apt remove docker docker-engine docker-ce docker.io

4. 安装 HTTPS 支持包

  • 安装几个必要的包,使得 apt 能够通过 HTTPS 来使用仓库(repository):
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

5. 添加 Docker 官方 GPG 密钥

  • 选择使用阿里云的 Docker 源,需要添加阿里云提供的 GPG 密钥。执行以下命令:
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

6. 向源列表添加 Docker 仓库

  • 在系统源中添加 Docker 仓库。确保替换 [arch=aarch64] 与当前系统架构相匹配,则该命令如下:
sudo add-apt-repository "deb [arch=$(arch)] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

7. 再次更新 APT 索引

  • 添加了新的仓库后,再次更新 APT 包索引可以看到有刚增加的阿里云索引:
sudo apt-get update

8. 安装 Docker CE

  • 执行命令安装最新版本的 Docker CE:
sudo apt install docker-ce

9. 验证安装

  • 安装完成后,可以运行以下命令来验证 Docker 是否成功安装并正在运行:
root@btf:/# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Fri 2024-03-22 11:40:31 CST; 1min 10s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
    Process: 703 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
   Main PID: 703 (code=exited, status=1/FAILURE)
Mar 22 11:40:29 btf systemd[1]: docker.service: Main process exited, code=…ILURE
Mar 22 11:40:29 btf systemd[1]: docker.service: Failed with result 'exit-code'.
Mar 22 11:40:29 btf systemd[1]: Failed to start Docker Application Contain…gine.
Mar 22 11:40:31 btf systemd[1]: docker.service: Scheduled restart job, res…at 3.
Mar 22 11:40:31 btf systemd[1]: Stopped Docker Application Container Engine.
Mar 22 11:40:31 btf systemd[1]: docker.service: Start request repeated too…ckly.
Mar 22 11:40:31 btf systemd[1]: docker.service: Failed with result 'exit-code'.
Mar 22 11:40:31 btf systemd[1]: Failed to start Docker Application Contain…gine.
Hint: Some lines were ellipsized, use -l to show in full.

或者运行一个测试容器:

sudo docker run hello-world

通过以上步骤,能够在 Ubuntu 22.04 上成功安装 Docker CE (但是run不了测试容器,没解决后面再研究)。

方式2:安装 Docker.io on Ubuntu 22.04(推)

# 我的设备环境:
root@btf:/$ docker --version
Docker version 24.0.5, build 24.0.5-0ubuntu1~22.04.1
root@btf:/$ uname -a
Linux btf 4.19.219 #7 SMP Fri Mar 22 10:46:23 CST 2024 aarch64 aarch64 aarch64 GNU/Linux
root@btf:/$ cat /etc/issue
Ubuntu 22.04 LTS \n \l

1. 更新软件包列表

确保系统软件包列表是最新的。避免安装过程中的依赖问题。

sudo apt-get update

2. 移除其他版本的 Docker

如果之前安装过 Docker 的其他版本(如 docker-ce),必须先将其卸载,不然很多莫名其妙问题。

sudo apt-get remove docker docker-engine docker.io containerd runc

3. 安装 Docker.io

直接从 Ubuntu 的官方仓库中安装 docker.io。这个版本经过了 Ubuntu 社区的测试,与 Ubuntu 系统的兼容性较好。

sudo apt-get install docker.io

4. 启动 Docker 并设置开机自启

安装完成后,启动 Docker 服务,并设置为开机自启。

sudo systemctl start docker
sudo systemctl enable docker

5. 验证安装

检查 Docker 是否正确安装并运行。

sudo docker run hello-world
解决依赖问题

如果在安装过程中遇到依赖问题,尤其是与 containerdcontainerd.io 相关的冲突,尝试以下步骤来解决:

尝试修复损坏的包
sudo apt-get -f install
移除现有的 containerdcontainerd.io

如果系统上已经安装了 containerdcontainerd.io,需要移除它们。

sudo apt-get remove containerd.io containerd

然后,再次尝试安装 docker.io

使用 Docker 官方安装脚本

如果直接安装 docker.io 还有问题,可以使用 Docker 提供的官方安装脚本。这将安装 Docker 的最新版本,而不是 Ubuntu 仓库中的版本。

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


Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(下)+https://developer.aliyun.com/article/1489673

相关文章
|
8天前
|
Linux 虚拟化 Docker
Linux服务器部署docker windows
在当今软件开发中,Docker成为流行的虚拟化技术,支持在Linux服务器上运行Windows容器。流程包括:1) 安装Docker;2) 配置支持Windows容器;3) 获取Windows镜像;4) 运行Windows容器;5) 验证容器状态。通过这些步骤,你可以在Linux环境中顺利部署和管理Windows应用,提高开发和运维效率。
52 1
|
22天前
|
Linux Shell
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
49 13
|
21天前
|
Linux Shell
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
47 5
|
2月前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
87 7
|
3月前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
330 7
|
1月前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
75 24
Linux系统之whereis命令的基本使用
|
4月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
425 8
|
7天前
|
Linux
Linux od命令
本文详细介绍了Linux中的 `od`命令,包括其基本语法、常用选项和示例。通过这些内容,你可以灵活地使用 `od`命令查看文件内容,提高分析和调试效率。确保理解每一个选项和示例的实现细节,应用到实际工作中时能有效地处理各种文件查看需求。
43 19
|
18天前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
106 25
|
16天前
|
缓存 Linux
Linux查看内存命令
1. free free命令是最常用的查看内存使用情况的命令。它显示系统的总内存、已使用内存、空闲内存和交换内存的总量。 free -h • -h 选项:以易读的格式(如GB、MB)显示内存大小。 输出示例: total used free shared buff/cache available Mem: 15Gi 4.7Gi 4.1Gi 288Mi 6.6Gi 9.9Gi Swap: 2.0Gi 0B 2.0Gi • to
29 2