종료된 콘솔을 열고 상호 작용하기 위해 웹에서 찾을 수 있는 모든 명령을 진지하게 시도했지만 그 중 아무 것도 작동하지 않았습니다. 이전에 커널을 컴파일한 Docker 컨테이너를 복원하려고 합니다. 내가 뭘 잘못하고 있는지 말해주세요.
내가 시도한 것은 다음과 같습니다.
root@M14EBR:~# docker exec -it a5416008966b /bin/bash
Error response from daemon: Container a5416008966b9cbe24cd91b529541536b5342bfe5c49052d12983771c569f7a5 is not running.
root@M14EBR:~# docker start -a -i `docker ps -q -l`
"docker ps -a" still shows all containers exited
root@M14EBR:~# docker run -i a5416008966b /bin/bash
Unable to find image 'a5416008966b:latest' locally
docker: Error response from daemon: pull access denied for a5416008966b,repository does not exist or may require 'docker login'.
See 'docker run --help'.
root@M14EBR:~# docker start ee86103a86d2
ee86103a86d2
root@M14EBR:~# docker ps -a
ee86103a86d2 debian "/bin/bash" 13 hours ago Exited (0) 5 seconds ago
답변1
이 컨테이너에서 보고한 시작 로그의 내용을 확인해야 합니다.
docker logs <container id>
<container id>
에 표시되어 있습니다 docker ps -a
.
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4c3ae992631c sysdig/sysdig "/docker-entrypoin..." About a minute ago Exited (0) About a minute ago sysdig
$ docker logs 4c3ae992631c
* Setting up /usr/src links from host
* Unloading sysdig-probe, if present
rmmod: ERROR: Module sysdig_probe is not currently loaded
* Running dkms install for sysdig
Error! echo
Your kernel headers for kernel 3.10.0-693.21.1.el7.x86_64 cannot be found at
/lib/modules/3.10.0-693.21.1.el7.x86_64/build or /lib/modules/3.10.0-693.21.1.el7.x86_64/source.
* Trying to load a system sysdig-probe, if present
* Trying to find precompiled sysdig-probe for 3.10.0-693.21.1.el7.x86_64
Found kernel config at /host/boot/config-3.10.0-693.21.1.el7.x86_64
* Trying to download precompiled module from https://s3.amazonaws.com/download.draios.com/stable/sysdig-probe-binaries/sysdig-probe-0.21.0-x86_64-3.10.0-693.21.1.el7.x86_64-9df7f67292ca873f1d3b016b35438cfb.ko
Download failed, consider compiling your own sysdig-probe and loading it or getting in touch with the sysdig community
root@4c3ae992631c:/# exit
exit
컨테이너가 "종료"되었으므로 다음과 같이 다시 시작할 수 있습니다.
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4c3ae992631c sysdig/sysdig "/docker-entrypoin..." 3 minutes ago Exited (0) 3 minutes ago sysdig
$ docker start 4c3ae992631c
4c3ae992631c
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4c3ae992631c sysdig/sysdig "/docker-entrypoin..." 3 minutes ago Up 4 seconds sysdig
레지스트리 로그인
질문에 대한 업데이트에 따르면 다음 메시지가 문제인 것으로 보입니다.
docker: 데몬의 오류 응답: a5416008966b에 대한 가져오기 액세스가 거부되었습니다. 저장소가 존재하지 않거나 "docker 로그인"이 필요할 수 있습니다. "docker run --help"를 참조하세요.
따라서 레지스트리에서 레지스트리/허브 계정을 사용해야 하거나 docker login
컨테이너의 기반이 되는 이미지를 Docker 레지스트리에서 더 이상 사용할 수 없습니다.