On aarch64 system.When I try to start the container, I get an error: "exit status 17"

HI

docker info:

Client:
 Debug Mode: false

Server:
 Containers: 1
  Running: 0
  Paused: 0
  Stopped: 1
 Images: 2
 Server Version: 19.03.9
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc version: fabf83fd21f205c801571df4074024179eb03b44
 init version: fec3683
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 4.19.90.S001.64.200410
 Operating System: Linux Advanced Server release (aarch64)
 OSType: linux
 Architecture: aarch64
 CPUs: 128
 Total Memory: 126.3GiB
 Name: localhost.localdomain
 ID: WDAE:V3ZU:NVI4:AUBU:HNIN:FP47:IWCY:SA2F:JLND:PSJT:JEAM:DOAT
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

systemctl status docker


● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2023-07-26 11:10:43 CST; 2h 54min ago
     Docs: https://docs.docker.com
 Main PID: 1204748 (dockerd)
    Tasks: 56
   Memory: 59.5M
   CGroup: /system.slice/docker.service
           └─1204748 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

error info:

 journalctl -u docker |grep error
 ***7 26 08:54:39 localhost.localdomain dockerd[1032950]: time="2023-07-6*T08:54:39.889148340+08:00" level=error msg="Handler for POST /v1.39/containers/e872/start returned error: OCI runtime create failed: container_linux.go:318: starting container process caused \"process_linux.go:267: running exec setns process for init caused \\\"exit status 17\\\"\": unknown"***
7 26** 08:55:12 localhost.localdomain dockerd[1032950]: time="2023-07-26T08:55:12.340798340+08:00" level=info msg="stopping event stream following graceful shutdown" error="<nil>" module=libcontainerd namespace=moby
7 26 08:55:12 localhost.localdomain dockerd[1032950]: time="2023-07-26T08:55:12.341602600+08:00" level=info msg="stopping event stream following graceful shutdown" error="context canceled" module=libcontainerd namespace=plugins.moby

How can i fix it?thx!!!

Can you share the exact docker run command and the error logs it produces?

It appears that you are not using an official docker package from docker’s repositories.

ERROR INFO:

docker run -itd --privileged=true --restart=always -e TZ=Asia/Shanghai --name myredis -p 6379:6379 redis:6.0
92de807247c63eafe1d552017e4e37ed822d28ea55ee14ed5c036b0080f333e7
docker: Error response from daemon: OCI runtime create failed: container_linux.go:318: starting container process caused “process_linux.go:267: running exec setns process for init caused "exit status 17"”: unknown.

The image is manually imported, and no matter what container I run, the error is the same. It looks like a directory permission issue, but I cannot determine the specific location

How did you export and manually import the image?
When you exported the image, how did you make sure that the exported image actually was for the cpu architecture of your target system?

I would strongly suggest asking in a forum of the maintainer of the docker package you use - they are the ones to provide support for their package. We can not know how weather and how they modified their docker package, or whether the host kernel provides all required kernel modules to work properly.

These image packages are designed for the aarch64 architecture and I have tested them on other servers to be usable. Regarding the error ‘exit status 17’, the information I found is related to the file system, but I cannot find the specific error information. How can I provide more debugging information?

I am not aware of anything appart from journalctl -u docker and container logs. Usually the container logs are enough to understand what’s going on.

Though, In your situation both have not been really helpful to narrow down the problem.

You could run the preflight check to verify whether required kernel modules are missing:

curl -L https://github.com/moby/moby/raw/master/contrib/check-config.sh | sh

You should really ask the maintainer of the package for help, as it’s more likely they know the operation environment they made their package for.

I hope you’ll find what causes the problem and be able to fix it.
Thus said, I am bailing out of the discussion, as I have nothing more to contribute.