간단한 Docker 사용

Ubuntu 16.04 LTS 기준으로 작성

설치

# docker라는 패키지명은 이미 사용 중이여서 docker.io라는 패키지 명을 사용
apt-get install docker.io

# docker를 사용할 사용자를 그룹에 추가
# 미리 docker를 사용할 유저를 docker 그룹에 추가하면 sudo 명령을 통하지 않고 docker를 사용할 수 있음
usermod -G docker -a bs

이미지 관리

왠만하면 이미지는 공식 버전(OFFICIAL)을 사용하는 것을 권장
이미지 저자가 악의적인 무언가를 넣었을 수도 있으므로 검증된 이미지를 사용해야 함
자신만의 이미지 생성이나 설정을 할 때에는 Host OS와 동일한 이미지에서 시작하는 것을 권장

# 이미지 찾기
docker search ubuntu

# 이미지 받기
docker pull ubuntu

# 가지고 있는 이미지 확인
docker images

# 가지고 있는 모든 이미지 확인
# 태그 되지 않고 이름이 없는 이미지들이 보일 수 있음
# 태그된 이미지가 참조하는 익명의 이미지가 보일 수 있음
docker images -a

# 컨테이너를 이미지로 생성
docker commit -a "BS <bs@bspfp.pe.kr>" -m "Commit Test" ubuntu-test mytest:0

# 이미지에 추가 태그 붙이기
docker tag mytest:0 mytest:latest

# 이미지 삭제
# 더이상 참조되지 않는 익명의 이미지가 함께 삭제 됨
docker rmi mytest:0

아래는 ubuntu 이미지 검색 결과

NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
ubuntu                            Ubuntu is a Debian-based Linux operating s...   5365      [OK]
ubuntu-upstart                    Upstart is an event-based replacement for ...   69        [OK]
rastasheep/ubuntu-sshd            Dockerized SSH service, built on top of of...   66                   [OK]
consol/ubuntu-xfce-vnc            Ubuntu container with "headless" VNC sessi...   37                   [OK]
ubuntu-debootstrap                debootstrap --variant=minbase --components...   27        [OK]
torusware/speedus-ubuntu          Always updated official Ubuntu docker imag...   27                   [OK]
nickistre/ubuntu-lamp             LAMP server on Ubuntu                           14                   [OK]
nuagebec/ubuntu                   Simple always updated Ubuntu docker images...   13                   [OK]
nickistre/ubuntu-lamp-wordpress   LAMP on Ubuntu with wp-cli installed            8                    [OK]
...

컨테이너 관리

# 컨테이너를 생성하면서 실행
# create로 생성하고 start로 실행할 수도 있지만 run으로 바로 생성과 시작을 할 수도 있음
# --rm 옵션을 주면 종료시 컨테이너를 자동으로 삭제함
docker run -i --name ubuntu-test -t ubuntu /bin/bash -

# 실행 중인 컨테이너 확인
docker ps

# 종료된 컨테이너를 포함한 모든 컨테이너를 확인
docker ps -a

# 종료된 컨테이너 다시 실행
docker start -a -i ubuntu-test

글쓴이

BS

BS == Programmer