실행 중인 Docker 인스턴스에 로그인하는 방법은 무엇입니까?

실행 중인 Docker 인스턴스에 로그인하는 방법은 무엇입니까?

docker그것이 어떻게 작동하는지 확인하려면 찌르십시오 .

ubuntu@ip-172-31-14-19:~$ 
ubuntu@ip-172-31-14-19:~$ sudo docker run --net=host -d -t jmar71n/freepbx
2792243260a8de33d1a775d115188e601fc556e500b5ad085e09b4133d0f3d06
ubuntu@ip-172-31-14-19:~$ 
ubuntu@ip-172-31-14-19:~$ sudo docker run -it jmar71n/freepbx bash
root@46f45b8973c3:/# 
root@46f45b8973c3:/# exit
exit
ubuntu@ip-172-31-14-19:~$ 
ubuntu@ip-172-31-14-19:~$ sudo docker run -it jmar71n/freepbx bash
root@813557bf8922:/# 
root@813557bf8922:/# echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
root@813557bf8922:/# 

이제 각각은 run새로운 인스턴스인가요? 이것이 프롬프트가 변경된 이유입니까? 각각의 ?에는 hostname고유한 ID가 있습니다.run

을 사용하여 첫 번째 인스턴스에 로그인하려면 어떻게 해야 합니까 --net=host?

내가 시도할 때실행 플래그, 다음과 같이 실패합니다.

ubuntu@ip-172-31-14-19:~$ 
ubuntu@ip-172-31-14-19:~$ sudo docker exec -it jmar71n/freepbx bash
Error: No such container: jmar71n/freepbx
ubuntu@ip-172-31-14-19:~$ 

왜? 이 인스턴스에 로그인하는 올바른 방법은 무엇입니까?

ubuntu@ip-172-31-14-19:~$ 
ubuntu@ip-172-31-14-19:~$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              20c44cd7596f        2 days ago          123MB
hello-world         latest              725dcfab7d63        2 weeks ago         1.84kB
jmar71n/freepbx     latest              8dda2a58fde1        19 months ago       1.54GB
ubuntu@ip-172-31-14-19:~$ 

답변1

명령을 실행하면 run매번 새로운 컨테이너가 생성됩니다.

run도커 컨테이너 내부에 연결하는 옵션을 사용하여 실행하므로 프롬프트 -it가 변경됩니다. 따라서 새 프롬프트를 사용하여 실행하는 모든 명령은 컨테이너 내에서 실행됩니다.

활성 프로세스를 종료한다고 말하면 exit(bash, 생성 중에 매개변수로 전달했기 때문에) PID 1이 있는 기본 프로세스가 존재하는 동안에만 컨테이너가 존재하기 때문에 컨테이너가 중지됩니다.

인스턴스에 연결하려면 먼저 -d분리 모드에서 실행한 다음 docker attach.문서를 통해 컨테이너의 ID를 얻을 수 있습니다 docker ps -a. 와 동일합니다 docker exec -it <containerID> bash.

답변2

Docker가 실행되어 새 인스턴스(팔라가상화) 주어진 이미지의 환경.

특정 인스턴스에 로그인하려면 docker exec를 실행해야 하는데, 로그인하려는 컨테이너의 ID로 docker exec를 실행해야 합니다. 이는 다음 명령을 사용하여 얻을 수 있습니다.

docker ps -a

그런 다음 ID를 얻은 후 다음 명령을 사용하여 컨테이너에 로그인합니다.

docker exec -it <containerid> bash

관련 정보