[docker] 2.2 도커 컨테이너 사용법
! Linux Ubuntu 16.04.7 환경에서 진행했음 !
컨테이너 생성
관리자 권한에서 실행한다. → sudo su
# docker run -i -t ubuntu:16.04
docker run은 도커 컨테이너를 생성하고 실행하는 역할이다.
-i 옵션은 컨테이너와 상호(interactive) 입출력을 가능하게 한다.
-t 옵션은 tty를 활성화 해서 bash shell을 사용하도록 컨테이너를 설정한다.
-i -t 중 하나라도 사용하지 않으면 shell을 정상적으로 사용할 수 없다.
# docker create -i -t --name mycentos centos:7
위와 같이 —name 옵션으로 해당 컨테이너 이름을 설정할 수 있다.
create는 run과 달리 컨테이너 실행을 하지는 않는다.
컨테이너 실행 & 종료
# docker start [컨테이너 이름]
# docker attach [컨테이너 이름]
create로 생성만한 경우이거나 따로 도커를 켜야 하는 경우 start와 attach 명령어를 통해 컨테이너를 시작하고 내부로 들어갈 수 있다.
컨테이너를 대상으로 하는 명령어는 컨테이너 이름 대신 ID를 사용할 수 있다. 2~3자만 입력해도 되는데 앞부분 2~3자가 같은 컨테이너가 존재하는 경우 오류를 발생한다.
# exit
or ctrl + D
exit 커맨드 혹은 ctrl + D로 컨테이너를 정지시키며 빠져나올 수 있다.
ctrl + P,Q
컨테이너를 정지시키지 않고 빠져나올 수 있다.
# docker stop [컨테이너 이름]
정지시키지 않고 빠져나온 컨테이너를 docker stop을 통해 정지시킨다.
컨테이너 목록 확인
# docker ps
# docker ps -a
정지되지 않은 컨테이너만 출력한다.
-a 옵션을 정지된 컨테이너를 포함한 모든 컨테이너를 출력한다.
- container id: 컨테이너에게 자동으로 할당되는 고유한 id
- image: 컨테이너를 생성할 떄 사용된 이미지의 이름
- command: 컨테이너가 시작될 때 실행된 명령어
- created: 컨테이너가 생성되고 난 뒤 흐른 시간
- status: 컨테이너의 상태를 나타내며, 실행중일때는 Up, 종료된 상태는 Exited, 일시 중지는 Paused
- port: –아직 공부하지 않음–
-
names: 컨테이너의 고유한 이름. —name 옵션을 넣지 않았다면 도커 엔진이 임의로 이름을 설정
# docker rename [기존 이름] [바꿀 이름]
위와 같이 이름을 변경할 수 있음
컨테이너 삭제
한번 삭제한 컨테이너는 복구할 수 없으므로 신중하게 결정하기
# docker rm [컨테이너 이름]
실행중인 컨테이너는 지울 수 없다.
앞 서 배운 docker stop이후 rm으로 지우는 방법이 있고 아래와 같이 -f 옵션을 사용하는 방법이 있다.
# docker rm -f [컨테이너 이름]
모든 컨테이너를 삭제하는 명령어도 있다. -q 옵션은 컨테이너 ID만 출력하도록 한다.
# docker container prune
# docker stop $(docker ps -a -q)
# docker rm $(docker ps -a -q)
컨테이너를 외부에 노출
아직 공부하지 않음