개발공부
Docker 컨테이너 내부에 명령 실행
알릿수
2020. 11. 1. 19:45
반응형
구동중인 컨테이너에 접속
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
379a17bef884 nginx "/docker-entrypoint.…" 40 minutes ago Up 40 minutes 0.0.0.0:80->80/tcp web
a5a1b1c0ef8a centos:7 "/bin/bash" About an hour ago Up About an hour sample
~ % docker attach sample
[root@a5a1b1c0ef8a /]#
명령 프롬프트가 변경된다. (도커 컨테이너 내부에 명령을 보낼 수 있는 상태)
[root@a5a1b1c0ef8a /]# ls
anaconda-post.log bin dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@a5a1b1c0ef8a /]# cd usr/
[root@a5a1b1c0ef8a usr]# ls
bin etc games include lib lib64 libexec local sbin share src tmp
기본적인 리눅스 명령들이 잘 실행된다.
컨테이너에서 빠져나오기(Mac) Ctrl + p + q
[root@a5a1b1c0ef8a /]# read escape sequence
attach 하지 않고 명령을 날릴 수도 있다.
~ % docker container exec -it sample ps -aufx
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 29 0.0 0.3 51764 3408 pts/1 Rs+ 09:00 0:00 ps -aufx
root 1 0.0 0.2 11840 2908 pts/0 Ss+ 08:55 0:00 /bin/bash
컨테이너의 파일을 호스트로 복사하기
~ % docker container cp web-new:/etc/nginx/nginx.conf ./nginx.conf
호스트의 현재 경로에 파일이 복사된 것을 확인할 수 있다.
~ % ls nginx.conf
nginx.conf
반응형