sklass의 s-class 프로그래밍 blog

Ubuntu에 Docker & docker-compose 설치 및 이미지 생성과 실행 본문

docker

Ubuntu에 Docker & docker-compose 설치 및 이미지 생성과 실행

sklass 2021. 12. 7. 00:17

Docker 설치

$ curl -fsSL https://get.docker.com/ | sudo sh

Docker 설치 확인

$ docker --version

Docker 그룹에 현재 사용자 추가

아래의 명령어를 실행시킨 후에, exec $SHELL 명령어로 쉘을 다시 실행시키면, sudo를 쓰지 않아도 docker 관련 명령어를 실행할 수 있습니다.

$ sudo usermod -aG docker $USER

Dockerfile 생성

sudo vi Dockerfile

Dockerfile 내용

FROM python:3.6.7

ENV PYTHONUNBUFFERED 1

RUN apt-get -y update
RUN apt-get -y install vim

RUN mkdir /srv/docker-django
ADD . /srv/docker-django

WORKDIR /srv/docker-django

RUN pip install --upgrade pip
RUN pip install -r requirements.txt

EXPOSE 8000
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

Dockerfile을 기준으로 Docker 이미지 생성

docker/django 라는 이름으로 이미지를 생성

아래의 커맨드는 Dockerfile이 위치한 디렉터리에서 진행해야 합니다.

$ sudo docker build -t docker/django .

Docker 이미지 생성 여부 확인

$ sudo docker image list

생성된 이미지 실행

docker/django 라는 이름의 이미지 실행

$ sudo docker run -p 8000:8000 docker/django

이미지를 백그라운드에서 실행 (데몬으로 실행)

$ sudo docker run -d -p 8000:8000 docker/django

백그라운드 실행 확인

$ sudo docker ps

백그라운드 실행 종료

$ sudo docker stop <CONTAINER_ID>

docker-compose 설치

$ sudo curl -L https://github.com/docker/compose/releases/download/v2.1.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

docker-compose 권한 설정

$ sudo chmod +x /usr/local/bin/docker-compose