docker在arm64架构ubuntu系统的安装

卸载可能存在的旧版本

bash 复制代码
sudo apt remove docker docker-engine docker-ce docker-io

安装依赖使apt可通过HTTPS下载包

bash 复制代码
sudo apt update && apt install -y apt-tranport-https ca-certificates curl 
software-properties-common

apt-transport-https用于支持通过HTTPS协议下载软件包,ca-certificates是用于管理SSL/TLS证书的软件包,software-properties-common 是一个用于管理软件源的工具

添加docker密钥

阿里云docker源

bash 复制代码
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

sudo apt-key add - 命令将GPG密钥添加到apt软件包管理器的受信任密钥列表中,末尾的-表示从标准输入中读取密钥。-fsSL是curl命令的选项,-f在服务器错误时静默失败,-s静默模式,不显示进度或错误消息,-S如果有错误则显示错误信息,-L跟踪重定向

官方docker源

bash 复制代码
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

添加对应的docker源(和上一步一致)

阿里云

bash 复制代码
sudo add-apt-repository "deb [arch=arm64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

官方源

bash 复制代码
sudo add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

add-apt-repository: 这个命令用于添加一个软件源(repository)到 Ubuntu 的软件仓库列表中

"deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable": 这是要添加的软件源的描述。

  • deb 表示这是一个 Debian 软件包仓库。
  • [arch=arm64] 表示这个软件源适用于 arm64 架构的处理器。
  • https://download.docker.com/linux/ubuntu 是软件源的 URL。
  • $(lsb_release -cs) 是 Ubuntu 的发行版代号,用于指定要添加软件源的 Ubuntu 版本。
  • stable 指定所添加的软件源的版本为稳定版。

因此,这个命令将会添加一个适用于 arm64 架构的 Docker CE 的软件包仓库,该仓库的 URL 为 https://download.docker.com/linux/ubuntu,软件源版本为稳定版,并根据当前 Ubuntu 的发行版代号自动选择正确的仓库版本。

安装docker

bash 复制代码
sudo apt update && apt install -y docker-ce

配置镜像仓库

bash 复制代码
mkdir /etc/docker
cat > /etc/docker/daemon.json << EOF
{
    "registry-mirrors": [
        "https://docker.mirrors.ustc.edu.cn/"
    ]
}
EOF
# 设置完成后重启
sudo systemctl daemon-reload
sudo systemctl restart docker

cat > /etc/docker/daemon.json << EOF这个命令将会把下面的文本块写入 /etc/docker/daemon.json 文件中,<< EOF 告诉 shell 接下来的文本块作为输入,并以 EOF 结束。

除了上述修改方式以外,还可以直接编辑/lib/systemd/system/docker.service 文件,修改启动命令的命令选项,指定镜像仓库参数(---registry-mirror):


其他

使用docker命令时可能会报下面的错误:

bash 复制代码
docker pull nginx:1.14 [22:29:13]
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/create?fromImage=nginx&tag=1.14": dial unix /var/run/docker.sock: connect: permission denied

这个错误提示显示了 Docker 客户端无法连接到 Docker 守护进程,因为没有足够的权限。

通常情况下,只有具有管理员权限的用户才能访问 Docker 守护进程。如果您是普通用户,可以尝试以下方法解决这个问题:

将用户添加到 docker 用户组中:

bash 复制代码
sudo usermod -aG docker $USER

这个命令将当前用户添加到 docker 用户组中,这个用户组拥有访问 Docker 守护进程的权限。注意,这个命令需要以管理员权限运行。

修改完成后需要退出终端并重新登陆。

相关推荐
Agent手记7 小时前
制造业数字化升级:生产全流程企业级智能体落地解决方案 —— 基于LLM+超自动化全栈架构的智改数转深度实战
运维·ai·架构·自动化
深色風信子8 小时前
Docker newapi
运维·docker·容器·newapi
旷世奇才李先生8 小时前
Spring Cloud Alibaba 2026实战:微服务治理全解析
微服务·云原生·架构
闫利朋9 小时前
Ubuntu 24.04 桌面安装向日葵完整指南
linux·运维·ubuntu
heimeiyingwang9 小时前
【架构实战】混合云架构设计方案
架构
就叫飞六吧10 小时前
Docker Hub 上主流的nginx发行
java·nginx·docker
GL_Rain11 小时前
快速搭建Halo博客 + 崩溃秒恢复方案(Docker极简部署)
运维·docker·容器
勤自省12 小时前
《RDK X5 ROS 2 Humble 安装与验证:从零到 Hello World》
windows·ubuntu·ssh·ros2
无巧不成书021812 小时前
2026最新Next-AI-Draw-io全攻略:AI驱动专业图表生成,Docker/Node.js本地部署零踩坑指南
人工智能·docker·node.js·next-ai-draw-io