Docker 시작하기 #02

Seok·2020년 12월 6일
1

Docker

목록 보기
2/7
post-thumbnail

run, create, ps, start, stop, rm, rmi 명령어를 알아보자


실습 환경

  • AWS EC2(Ubuntu 16.04)

컨테이너 생성 및 실행

$ docker run -i -t ubuntu:16.04

image

  • 다운 받은 이미지가 없을 경우 자동으로 DockerHub 에서 내려받아 설치한다.
  • Pull complete 가 4번 표시된걸 볼 수 있다. 이는 이 이미지가 4개의 계층이라는것을 의미한다.
  • 쉘 형태가 바뀐것을 볼 수 있는데 바로 docker run 명령이 컨테이너를 설치하고 바로 실행하기 때문에 컨테이너 안으로 들어간 것이다.
  • root는 기본 사용자 이며 호스트이름은 무작위 16진수 해시값이며 컨테이너의 고유 ID 이다. 위 사진에선 55e665cfffef가 호스트이름이며 컨테이너 고유 ID 이다.
  • -i 상호입출력 옵션
  • -t tty 활성화 옵션

image

  • exit 로 컨테이너를 빠져나올 수 있지만, 컨테이너를 종료시키며 빠져나온다. 종료시키지 않고 빠져나오려면 ctrl+p+q를 사용하면 된다.

이미지 다운로드 및 컨테이너로 실행

$ docker pull ubuntu:18.04
$ docker images

image

  • docker pull을 통해 이미지를 내려받는다. 이미지명:태그명형태이며 태그를 생략할 시 자동으로 가장최근버전을 가져온다.
  • docker images를 통해 다운 받은 이미지를 확인 한다. 이전 docker run명령을 내려 받아진 파일까지 확인 할 수 있다.
  • --name 옵션은 컨테이너 이름을 지정한다.
$ docker create -i -t --name ubuntu18 ubuntu:18.04
docker start ubuntu18
docker attach ubuntu18

image

  • docker create명령은 docker run명령과 다르게 컨테이너를 실행시키지만 바로 컨테이너 안으로 들어가지 않는다.
  • docker create이후에 docker start로 컨테이너를 실행시키고, docker attach명령으로 컨테이너 안으로 들어간다.

컨테이너 목록 확인

$ docker ps
$ docker ps -a
$ docker ps -a -q

image

  • docker ps 명령은 현재 실행중인 컨테이너들의 상태를 보여준다.
  • -a 옵션을 사용하면 종료된 컨테이너까지 보여준다.
  • -q 옵션을 사용하면 컨테이너의 ID만 출력해 준다.
  • CONTAINER IDNAMES가 보이는데 NAMES는 컨테이너를 실행시킬때 --name옵션으로 지정이 가능하며 지정하지 않을시 랜덤으로 할당된다.

컨테이너 실행 및 중지

$ docker ps -a
$ docker stop {CONTAINER_NAME}or{CONTAINER_ID}
$ docker ps -a
$ docker start {CONTAINER_NAME}or{CONTAINER_ID}

image

  • docker stop {CONTAINER_NAME}or{CONTAINER_ID} 으로 실행중인 컨테이너를 중지 시킬 수 있다.
  • docker start {CONTAINER_NAME}or{CONTAINER_ID} 으로 중단된 컨테이너를 실행 시킬 수 있다.

컨테이너 삭제

$ docker rm {CONTAINER_NAMES} or {CONTAINER_ID}

image

  • docker rm명령은 CONTAINER_NAMESCONTAINER_ID를 뒤에 적어주면 해당 컨테이너를 삭제한다.
  • 스크린샷처럼 CONTAINER_ID로 컨테이너를 특정할 때, 컨테이너를 특정할 수 있을만큼 앞 3~4자리만 적어줘도된다.
  • -f옵션은 실행중인 컨테이너 삭제시 사용한다.
$ docker rm $(docker ps -a -q)

image

  • 컨테이너를 한번에 지워야 할 때 위와 같이 명령을 실행하면 한번에 모든 컨테이너를 지울 수 있다.

이미지 삭제

$ docker images
$ docker rmi {IMAGE_NAME:IMAGE_TAG}

image

  • rmi명령으로 삭제가 가능하다.
  • 삭제시에도 계층단위로 삭제되는 것을 확인할 수 있다.
  • 이 이미지를 기반으로 컨테이너가 실행중일때의 상황은 추후 포스팅 예정.
profile
🦉🦉🦉🦉🦉

0개의 댓글