본문 바로가기
프로젝트/Django - How Dimt?

Django poj.c E1) Docker In Docker 는 포기 - 31일차

by Fola 2022. 5. 19.

Code E - Server 1번 글, 프로젝트 31일차 (수)

 

 

1.

nas의 터미널과 종일 씨름했다.

docker in docker는 포기하는 것으로 결정

 

docker hub의 dind(docker in docker) 이미지의 여러 태그들을 시도해 보았으나

모두 컨테이너 밖으로 인터넷 연결조차 되지 않아서 실패했다.

 

지푸라기 잡는 심정으로

Ubuntu 이미지를 unminimize 하고 각종 업데이트와 유틸들을 모두 설치한 후

컨테이너 위에 리눅스 도커 엔진을 올려 보려 시도했다.

설치는 오류 없이 잘 마무리되었으나

엔진을 start 할 수가 없었다.

 

 

 

2.

nas의 ssh 터미널을 이용하여 docker를 cli 환경에서 사용할 수 있게 되었으니

나스 ssh가 하나의 클라우드 인스턴스 컴퓨터인 것처럼 간주하여 

웹 호스팅을 도전하는 방향으로 전환하였다.

 

서로 관련 없는 컨테이너들을 구조화 없이 리스트로 나열된 모습을 보고 싶지 않았지만.

 

컨테이너 생성, 포트포워딩, 홈 네트워크 및 외부 접속에 모두 성공했다.

하루나절이나 걸렸지만

어떠한 방식으로 도커 시스템을 설계해야 하는지 고민하는데 더 이상 시간을 쓰지 않아도 될 것 같아 만족.

 

 

 

3.

프로젝트 이름의 네트워크 브릿지를 만들었다.

관련된 모든 컨테이너는 프로젝트 브릿지를 통해 통신할 것이다.

 

docker volume 은 사용하지 않고 -v 옵션으로 디렉터리만 마운트 했다.

docker volume 옵션은 @docker 디렉터리 안에 볼륨을 만드는데

이 디렉터리는 nas의 GUI manager로는 접근이 불가능하고 ssh 터미널로만 접근이 가능하다.

따라서 GUI manager가 접근 가능한 디렉터리에

-v 옵션으로 볼륨 마운트 하는 방법이 이후 프로젝트의 유지 보수가 더 편할 것이라 예상되었다. 

 

 

 

 

4. 계획 중인 컨테이너 목록

 

1) nginx - Web server

2) python container - Django 실행 컨테이너

3) Gunicorn - WSGI server

4) PostgreSQL - DB

댓글