在aarch64系统上。当我尝试启动容器时,收到错误:“退出状态17”

问题描述 投票:0回答:1

码头工人信息:

客户: 调试模式:假

服务器: 容器:1 跑步:0 暂停:0 已停止:1 图片:2 服务器版本:19.03.9 存储驱动程序:overlay2 支持文件系统:extfs 支持 d_type: true 原生覆盖差异:true 日志记录驱动程序:json-file Cgroup 驱动程序:cgroupfs 插件: 音量:本地 网络:桥接主机 ipvlan macvlan null 覆盖 日志:awslogs fluidd gcplogs gelf Journald json-file 本地 logentries splunk syslog 群:不活跃 运行时:runc 默认运行时:runc 初始化二进制文件:docker-init 容器版本:7ad184331fa3e55e52b890ea95e65ba581ae3429 runc版本:fabf83fd21f205c801571df4074024179eb03b44 初始化版本:fec3683 安全选项: 安全计算 配置文件:默认 内核版本:4.19.90.S001.64.200410 操作系统:Linux Advanced Server 版本 (aarch64) 操作系统类型:linux 架构:aarch64 CPU:128 总内存:126.3GiB 名称: localhost.localdomain ID:WDAE:V3ZU:NVI4:AUBU:HNIN:FP47:IWCY:SA2F:JLND:PSJT:JEAM:DOAT Docker 根目录:/var/lib/docker 调试模式:假 注册表:https://index.docker.io/v1/ 标签: 实验:假 不安全的注册表: 127.0.0.0/8 启用实时恢复: false systemctl 状态泊坞窗

● docker.service - Docker 应用程序容器引擎 已加载:已加载(/usr/lib/systemd/system/docker.service;已禁用;供应商预设:已禁用) 活跃:自 2023 年 7 月 26 日星期三 11:10:43 CST 起活跃(运行); 2 小时 54 分钟前 文档:https://docs.docker.com 主PID:1204748(dockerd) 任务:56 内存:59.5M CGroup:/system.slice/docker.service └─1204748 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 错误信息:

journalctl -u docker |grep 错误 7 26 08:54:39 localhost.localdomain dockerd[1032950]: time="2023-07-6T08:54:39.889148340+08:00" level=error msg="POST /v1.39/ 的处理程序容器/ e872 / start返回错误:OCI运行时创建失败:container_linux.go:318:启动容器进程导致“process_linux.go:267:为init运行exec setns进程导致\“退出状态17\”“:未知”* 7 26** 08:55:12 localhost.localdomain dockerd[1032950]: time="2023-07-26T08:55:12.340798340+08:00" level=info msg="正常关闭后停止事件流" error=" “模块=libcontainerd命名空间=moby 7 26 08:55:12 localhost.localdomain dockerd[1032950]: time="2023-07-26T08:55:12.341602600+08:00" level=info msg="正常关闭后停止事件流" error="上下文已取消“模块=libcontainerd命名空间=plugins.moby 我该如何修复它?thx!!!

错误信息:

docker run -itd --privileged=true --restart=always -e TZ=亚洲/上海 --name myredis -p 6379:6379 redis:6.0 92de807247c63eafe1d552017e4e37ed822d28ea55ee14ed5c036b0080f333e7 docker:来自守护进程的错误响应:OCI 运行时创建失败:container_linux.go:318: 启动容器进程导致“process_linux.go:267: 为 init 运行 exec setns 进程导致“退出状态 17””:未知。

镜像是手动导入的,无论我运行什么容器,错误都是一样的。看起来像是目录权限问题,但无法确定具体位置

docker exit arm64 status
1个回答
0
投票

看起来您导入了错误的图像(非

aarch64
)。我想您已从
x64
机器将此图像导出为
tar
文件,现在尝试在
aarch64
机器上使用它。

您必须运行

docker image inspect redis:6.0 --format '{{.Architecture}}'
才能获得图像的架构。它应该兼容
arm
,但不兼容
amd64
i386

如您所见,这里有多种可用的图像标签架构。而你的可能是 linux/arm64/v8


获取

arm64

 图像的最简单方法是在 
docker pull redis:6.0
 机器上运行 
aarch64
 并导出 → 导入它。

如果无法使用

aarch64

机器直接拉取镜像,您可以手动指定架构来拉取
arm64
镜像:

docker pull --platform linux/arm64/v8 redis:6.0 docker image inspect python:3.9 --format '{{.Architecture}}' # arm64 should be printed out
    
© www.soinside.com 2019 - 2024. All rights reserved.