대화형 콘솔을 사용하여 종료된 Docker 컨테이너를 시작하는 방법은 무엇입니까?

대화형 콘솔을 사용하여 종료된 Docker 컨테이너를 시작하는 방법은 무엇입니까?

종료된 콘솔을 열고 상호 작용하기 위해 웹에서 찾을 수 있는 모든 명령을 진지하게 시도했지만 그 중 아무 것도 작동하지 않았습니다. 이전에 커널을 컴파일한 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 레지스트리에서 더 이상 사용할 수 없습니다.

관련 정보