[Infra] 도커(docker)(8) 도커 장고 이미지 컨테이너 살펴보기

업데이트:

도커(docker)(8) 도커 장고 이미지 컨테이너 살펴보기

참고링크

운영체제 프론트엔드 백엔드 데이터베이스 인프라
리눅스구조 js필터 아파치에러로그 행삭제 아파치스쿱
프로세스 헬로월드 웹서버개념 ES기초 로그분석
네임스페이스 프로젝트생성 아파치설치 MySQL기초 beeline
디렉토리 헤더생성 flask연동 큐브리드 하둡기초
리다이렉션 async-get 장고MsSQL연결 null공백 나이파이
쓰레드 async-post 장고MySQL연결 MySQL설치(win) 백본
라즈베리파이설치 로그인페이지 장고inpectdb MySQL테이블생성 제플린
OSI7계층소개   장고read   SSL인증
OSI1계층   장고insert   커버로스
OSI2계층   장고put   도커개념
OSI3계층   장고del   도커설치
OSI4계층   flask한글요청   도커기초
OSI5,6,7계층       도커이미지
DNS서버       컨테이너네트워크
DHCP       도커API
bashrc       도커컴포즈
bash       도커볼륨
ifconfig       장고이미지
소켓프로그래밍       도커postgre
리눅스유저생성       도커이미지삭제
netstat포트열기       도커Redis
컴파일러       k8s구조
운영체제vs커널       k8s설치
작업스케쥴링       k8s서비스배포
디스크추가       POD네트워크
aws유저추가       퍼시스턴트볼륨
기초명령어       k8s에러
포트번호        

참고 링크

1. 서론

이번 포스팅에서는 도커를 이용해 장고 이미지를 pull 받아 컨테이너로 띄우고, 살펴보는 시간을 갖도록 하겠습니다.

2. 도커 허브에 있는 디폴트 장고 이미지 활용하기

2.1. 장고 이미지 pull 받기

우선 장고 이미지를 pull받겠습니다. 다음과 같이 pull을 받아줍시다.

$ docker pull django
Using default tag: latest
latest: Pulling from library/django
75a822cd7888: Pull complete
e4665cede9d1: Pull complete
202a45aa091c: Pull complete
7799136eb561: Pull complete
7a7f9ca3fd40: Pull complete
412f2d081014: Pull complete
Digest: sha256:5bfd3f442952463f5bc97188b7f43cfcd6c2f631a017ee2a6fca3cb8992501e8
Status: Downloaded newer image for django:latest
docker.io/library/django:latest

그리고 나서 도커 이미지를 검색하면 django가 있는 것을 알 수 있습니다.

$ docker image ls
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
django        latest    eb40dcf64078   5 years ago     436MB



2.2. 도커 컨테이너 실행

장고 공식 이미지를 pull 받았다면 다음 커맨드를 이용해 컨테이너를 띄웁니다.

$ docker run -d -p 80:8000 django bash -c "pip install django && 
django-admin startproject test01 && 
cd test01 && python manage.py runserver 0.0.0.0:8000"

4d08850e2b8ceac943d0532bcf38b65bf063fc625886dd02e600720c6b326dbe

참고로 위 커맨드의 의미는 다음과 같습니다.

옵션 의미
-d 컨테이너 백그라운드 실행
-p 호스트의 80번 포트와 컨테이너의 8000번 포트 연결
bash -c 다음에 오는 커맨드 실행

그러면 컨테이너가 잘 띄워졌는지 확인해보겠습니다.

$ docker container ls
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                                   NAMES
4d08850e2b8c   django    "bash -c 'pip instal…"   5 seconds ago   Up 5 seconds   0.0.0.0:80->8000/tcp, :::80->8000/tcp   peaceful_jackson

컨테이너를 내리고 싶다면 다음과 같이 입력합니다.

$ docker container stop 4d08850e2b8c
4d08850e2b8c

3. 직접 작성한 코드를 빌드해서 배포하기