Docker 설치부터 실행까지

2019-07-18

0. 환경

  • Ubuntu 18.04

1. docker 설치

  • 설치 스크립트 다운로드 받아서 실행
sudo wget -qO- https://get.docker.com/ | sh

2. sudo 없이 실행하기

  • 현재 로그인된 user를 docker group에 추가
sudo usermod -aG docker $USER # 적용하려면 다시 로그인 필요

3. image 다운로드

  • docker hub에서 이미 만들어져있는 image를 다운로드
  • 이미지는 https://hub.docker.com/ 에서 검색할 수 있음
$ docker pull ubuntu # latest 버전 다운로드
$ docker pull ubuntu:18.04 # ubuntu 특정 버전(18.04) 다운로드
  • 다운로드 이미지 확인
$ docker image list
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              16.04               13c9f1285025        4 weeks ago         119MB
ubuntu              18.04               4c108a37151f        4 weeks ago         64.2MB

4. image 실행

  • -it 옵션: 표준입출력, 터미널실행
  • -it 옵션을 주지 않으면 ubuntu의 /bin/bash가 실행되고 바로 종료됨.
docker run -it ubuntu:16.04 # docker run {IMAGE}
docker run -it ubuntu:18.04

5. image 삭제

docker rmi ubuntu:16.04 # docker rmi {IMAGE ID}
  • container 가 있으면 container를 먼저 제거하거나 -f 옵션으로 강제 제거
$ docker rmi ubuntu:16.04
Error response from daemon: conflict: unable to remove repository reference "ubuntu:16.04" (must force) - container 21ad181c33ba is using its referenced image 13c9f1285025

$ docker rmi ubuntu:16.04 -f
Untagged: ubuntu:16.04
Untagged: ubuntu@sha256:a4d8e674ee993e5ec88823391de828a5e9286a1597b731eaecaaf9066cfdf539
Deleted: sha256:13c9f1285025c03cfd56a2809973bfec93a6468953c4d0ed70afb1f492f50489

6. container list 확인

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS                     PORTS               NAMES
a8f992041131        ubuntu:18.04        "/bin/bash"         About a minute ago   Exited (0) 2 seconds ago                       quirky_haibt

7. container start

  • container가 실행될 뿐 bash가 붙지 않는다.
$ docker start a8f992041131 # docker start {CONTAINER ID}

8. container attach

  • 실행된 container에 bash shell에 붙는 작업
$ docker attach a8f992041131
root@a8f992041131:/#

9. container 제거

$ docker rm a8f992041131 # docker rm {CONTAINER ID}