[Docker] 8. 가동중 Docker 컨테이너 조작
가동 컨테이너 연결
: 가동 중인 컨테이너에 연결할 때는 docker container attach 명령을 사용
ex) /bin/bash가 실행되고 있는 sample이라는 이름의 컨테이너에 연결
$ docker container attach sample
[root@sfkslgjs /]#
이 때 연결한 컨테이너를 종료하려면 Ctrl+C
컨테이너 안에서 움직이는 프로세스(/bin/bash)만 종료하려면 Ctrl+P or Ctrl+Q를 입력함
가동 컨테이너에서 프로세스 실행
: 가동 중인 컨테이너에서 새로운 프로세스를 실행할 때는 아래와 같은 구문을 사용
docker container exec [옵션] <컨테이너 식별자> <실행할 명령> [인수]
주요 옵션
--detach, -d: 명령을 백그라운드에서 실행함
--interactive, -i: 컨테이너의 표준 입력을 연다.
--tty, -t: false(tty를 사용함)
--user, -u: 사용자 명을 지정함
이 경우 웹서버와 같은 백그라운드에서 실행되고 있는 컨테이너에 액세스 하고 싶을 때 docker container attach 명령으로 연결해도 쉘이 작동하지 않는 경우 명령을 날릴 수가 없음. 이 때 docker container exec 명령을 통해 원하는 명령을 실행함. 또한, docker container exec 명령은 실행중인 컨테이너에서만 사용이 가능함. 정지 중 컨테이너는 시작해 주고 사용해야 함
가동 컨테이너의 프로세스 확인
: 가동 중인 컨테이너에서 실행되는 프로세스를 확인 할 때는 docker container top 명령을 사용
가동 컨테이너의 포트 전송 확인
: 가동중인 컨테이너에서 실행되고 있는 프로세스가 전송되고 있는 포트를 확인할 때는 아래와 같은 구문 사용
docker container port <컨테이너 식별자>
컨테이너 이름 변경
: 컨테이너 이름을 변경할 때는 아래와 같은 구문 사용
docker container rename <현재 컨테이너 식별자> <바꿀 컨테이너 식별자>
컨테이너 안의 파일을 복사
: 컨테이너 안의 파일을 호스트에 복사할 때 아래와 같은 구문을 이용함
docker container cp <컨테이너 식별자>:<컨테이너 안의 파일 경로> <호스트 디렉토리 경로>
docker container cp <호스트 파일> <컨테이너 식별자>:<컨테이너 안의 파일 경로>
컨테이너 조작의 차분 확인
: 컨테이너 안에서 조작을 하여 컨테이너가 생성되었을 때와 달라진 점을 확인하려면 다음 구문을 사용
docker container diff <컨테이너 식별자>
변경의 구분
A: 파일의 추가
D: 파일 삭제
C: 파일 수정