728x90
가동 중인 Docker 컨테이너 조작
docker container attach
가동 컨테이너 연결
- 가동 중인 컨테이너에 연결할 때 사용
- 컨테이너에 연결
- /bin/bash가 실행되고 있는 os 컨테이너에 연결
- 연결한 컨테이너 종료: ctrl + d
- 컨테이너에서 분리 (컨테이너 실행 유지): ctrl + p + q
[root@localhost ~]# docker container attach os
# ctrl + p + q: 컨테이너 실행을 유지하고 빠져나옴
[root@134edd645e3f /]#
[root@134edd645e3f /]# read escape sequence
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
109beea4e76b centos "/bin/bash" 36 minutes ago Up 12 minutes osb
03002e13460e centos "/bin/bash" 37 minutes ago Up 37 minutes osa
763e42cf5bd9 mysql:5.6 "docker-entrypoint.s…" 44 minutes ago Up 44 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp db
134edd645e3f centos "/bin/bash" About an hour ago Up About an hour os
64ebf94e8142 httpd "httpd-foreground" About an hour ago Up About an hour 80/tcp web
# ctrl + d: 컨테이너를 종료하고 빠져나옴
[root@134edd645e3f /]# exit
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
109beea4e76b centos "/bin/bash" 37 minutes ago Up 13 minutes osb
03002e13460e centos "/bin/bash" 38 minutes ago Up 38 minutes osa
763e42cf5bd9 mysql:5.6 "docker-entrypoint.s…" 45 minutes ago Up 45 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp db
64ebf94e8142 httpd "httpd-foreground" About an hour ago Up About an hour 80/tcp web
docker container exec [옵션] <컨테이너 식별자> <실행할 명령> [인수]
가동 컨테이너에서 추가(새로운) 프로세스 실행
- 가동 중인 컨테이너에서 새로운 프로세스를 실행할 때 사용
- docker container attach 명령으로 연결을 시도했지만 쉘이 작동하지 않는 경우
- 반드시 컨테이너가 실행 중인 상태에서만 명령 사용이 가능함
- 새로운 프로세스는 종료되더라도 컨테이너는 유지됨
- 옵션
옵션 | 설명 |
--detach, -d | 명령을 백그라운드에서 실행 |
--interactive, -i | 컨테이너의 표준 입력을 연다 |
--tty, -t | tty 사용 |
--user, -u | 사용자명 지정 |
- 컨테이너에서 sh 실행
- 가동 중인 osa 컨테이너에서 /bin/sh 실행
[root@localhost ~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
109beea4e76b centos "/bin/bash" 48 minutes ago Up 24 minutes osb
03002e13460e centos "/bin/bash" 49 minutes ago Up 49 minutes osa
[root@localhost ~]# docker container exec -it osa /bin/sh
sh-4.4#
sh-4.4#
# attach 명령은 새로운 프로세스를 실행할 수 없음
[root@localhost ~]# docker container attach osa /bin/sh
"docker container attach" requires exactly 1 argument.
See 'docker container attach --help'.
Usage: docker container attach [OPTIONS] CONTAINER
Attach local standard input, output, and error streams to a running container
- 컨테이너에서 echo 실행
[root@localhost ~]# docker container exec -it osa /bin/echo "Hello world"
Hello world
docker container top
가동 컨테이너의 프로세스 확인
- 가동 중인 컨테이너에서 실행되고 있는 프로세스를 확인할 때 사용
- 프로세스 확인
- osa 컨테이너의 프로세스를 확인함
[root@localhost ~]# docker container top osa
UID PID PPID C STIME TTY TIME CMD
root 4067 4046 0 10:46 pts/0 00:00:00 /bin/bash
root 5275 4046 0 11:35 ? 00:00:00 /bin/bash
root 5421 4046 0 11:42 ? 00:00:00 /bin/sh
docker container port
가동 컨테이너의 포트 전송 확인
- 가동 중인 컨테이너에서 실행되고 있는 프로세스가 전송되고 있는 포트를 확인할 때 사용
- 컨테이너의 포트 전송
[root@localhost ~]# docker container port db
3306/tcp -> 0.0.0.0:3306
3306/tcp -> :::3306
728x90
'쿠버네티스 교육 > 강의 내용 정리' 카테고리의 다른 글
220616_1_도커_Dockerfile을 사용한 구성 관리 (0) | 2022.06.16 |
---|---|
220615_4_도커_docker container commit / export, image import / save / load (0) | 2022.06.16 |
220615_1_도커_docker container network ls / create / connect / rm (0) | 2022.06.15 |
220614_4_도커_docker container run / ls /stats (0) | 2022.06.15 |
220614_2_도커_docker container create / start / stop / rm (0) | 2022.06.15 |