[Docker] 가동 중인 컨테이너 조작

2020. 11. 20. 01:31Docker

1. 가동 중인 컨테이너 조작

1) 가동 컨테이너 연결

특정 프로세스를 실행하고 있는 컨테이너에 연결하기 위해 attach 명령어를 사용한다. 연결한 컨테이너 종료는 'Ctrl + C', 컨테이너를 시작한 채로 컨테이너 안에서 움직이는 프로세스만 종료할 경우 'Ctrl + p, Ctrl + Q'를 입력한다.

sudo docker container attach [컨테이너명]

2) 가동 컨테이너 프로세스 실행

가동 중인 컨테이너에서 새로운 프로세스를 실행할 때 exec 명령어를 사용한다. 백그라운드에서 실행되고 있는 웹 서버 컨테이너에 액세스할 경우 attach 명령어로 연결해도 쉘이 작동하지 않는 경우는 명령을 접수할 수 없다. exec 명령어는 실행 중인 컨테이너에서만 동작하기에 정지 중인 컨테이너는 start 명령을 사용하여 컨테이너를 시작해야한다.

sudo docker container exec [옵션] [컨테이너 식별자] [실행 명령] [인수]
옵션 설명
--detach, -d 명령을 백그라운드에서 실행한다.
--interactive, -i 컨테이너의 표준 입력을 연다.
--tty, -t 단말 디바이스를 사용한다.
--user, -u 사용자명을 지정한다.

3) 가동 컨테이너의 프로세스 확인

가동 중인 컨테이너에서 실행되고 있는 프로세스를 확인할 때 top 명령어를 사용한다. 결과로는 PID, USER, 실행 중인 명령 항목이 결과로 출력된다.

sudo docker container top [컨테이너명]

4) 가동 컨테이너의 포트 전송 확인

가동 중인 컨테이너에서 실행되고 있는 프로세스가 전송되고 있는 포트를 확인할 때는 port 명령을 사용한다.

sudo docker container port [컨테이너명]

 

 

 

2. 컨테이너 조작

1) 컨테이너 이름 변경

sudo docker container rename [기존 컨테이너명] [변경할 컨테이너명]

2) 컨테이너 내부 파일 복사

sudo docker container cp [컨테이너 식별자:컨테이너 내부 파일 경로] [호스트 디렉토리 경로]
sudo docker container cp [호스트 파일] [컨테이너 식별자:컨테이너 내부 파일 경로]

3) 컨테이너 조작의 차분 확인

컨테이너 내부에서 어떤 조작을 통해 컨테이너가 이미지로부터 생성되었을 때와 달라진 점을 확인하기 위해 diff 명령어를 사용한다. 파일 추가는 A, 파일 삭제는 D, 파일 수정은 C로 구분된다.

sudo docker container diff [컨테이너 식별자]

[참고] 완벽한 IT 인프라 구축을 위한 Docker (2판)

728x90

'Docker' 카테고리의 다른 글

[Docker] Dockerfile (1)  (0) 2020.11.20
[Docker] 도커 이미지 조작  (0) 2020.11.20
[Docker] 컨테이너 네트워크  (0) 2020.11.19
[Docker] 컨테이너 LifeCycle  (0) 2020.11.18