ㅍㅍㅋㄷ

docker container에 접속하기 본문

IT/Docker

docker container에 접속하기

클쏭 2015. 7. 21. 00:43



일단 docker 라는 것을 처음 접하고, container를 실행해 본 후 가장 당황 스러웠던 것은 


"container에 어떻게 접속하지?"


였다. ( 필자는 그랬다.. ) 

 

일단 container 자체가 하나의 Proccess 였기에 container가 daemon으로 실행하고 나면 여기에 어떻게 접속해야할지 난감한 상황이..


root@~~# docker ps -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES

c456623003b1        nimmis/apache       "/my_init"          40 seconds ago      Up 39 seconds       0.0.0.0:8080->80/tcp   high_ritchie  

[ Status가 Up 상태인거 보니 뭔가 실행 중이다. 접속은? ]


접속하는 방법은 매우 간단하다. 

docker exec 명령을 이용하면 된다.  docker exec 는 container에 특정 명령을 실행할 수 있는 것인데 이때 명령을 /bin/bash 라고 하면 된다. 


우리가 "접속" 하고 싶다는 의미는 해당 container 의 shell 에 접속하겠다는 의미이다. 

주의해야할 것은 docker exec 명령을 할때 옵션으로 -it 라고 덧붙여 주어야 한다. 이는 STDIN 표준 입출력을 열고 가상 tty (pseudo-TTY) 를 통해 접속하겠다는 의미이다. 


root@~~# docker exec -it  c456623003b1 /bin/bash

root@c456623003b1:~# 


위와 같이 hostname이 해당 container id로 바뀐 것을 볼 수 있다. 즉, container 내부에 접속한 상태라는 것이다. 


마지막으로 접속을 종료할때는 간단히 exit 명령을 통해 가능하다. 


 


Comments