[Inception] 과제 정리

SonHero·2022년 10월 27일
0

42cursus

목록 보기
5/5
post-thumbnail

과제 설명에 들어가기 전에..

Inception은 dockerdocker-compose를 주로 사용하는 과제다. docker에 대한 배경지식과 경험에 따라서 과제에 소요되는 시간이 천차만별이다.
물론 docker를 잘 모르더라도, 해당 과제를 끝낼 때 쯤에는 docker를 어느 정도 다룰 수 있게 될 것이다.

과제의 목표

우리는 3개의 도커 컨테이너와 2개의 볼륨을 만들어서 워드프레스 웹사이트를 띄우는 것이 목표이다. 이때, docker-compose를 사용하여 컨테이너와 볼륨을 모두 연결시켜주는 것이 중요하다.

컨테이너

각 도커 컨테이너에는 웹사이트를 띄우기 위해 필요한 서비스들이 존재한다. (Nginx, mariadb, wordpress + php-fpm)

네트워크

각 컨테이너들은 정해진 포트를 통해서 통신해야 한다.

볼륨

컨테이너의 데이터들이 저장된 디렉토리는 호스트 컴퓨터의 폴더와 마운트되어 있어서 컨테이너가 꺼지더라도 저장되어야 한다.

아래는 서브젝트에서 제공하는 결과물의 구조도이다.

추천하는 과제 학습 순서

  1. docker가 무엇인지 공부하고, docker 컨테이너를 만들어보는 등의 실습해보기.
  2. docker 명령어나 Dockerfile을 사용한 컨테이너 다루기에 익숙해졌다면, 서브젝트에서 요구하는 컨테이너를 하나씩 만들어보기.
  3. 컨테이너 3개를 전부 만들었다면, docker-compose에 대해서 알아보고, 컨테이너를 docker-compose로 묶는다.

위의 순서를 따라서 공부하는 것이 내가 직접 부딪혀본 결과 이해하기 편할 것 같다.

과제를 진행할 때의 꿀팁 및 주의사항 👍

  1. 과제는 VirtualBox와 같은 가상 머신에서 정해진 버전의 리눅스 OS 내에서 진행해야 한다.
    과제를 진행하는 중에 root 권한을 필요로 할 때가 있다. 클러스터 맥에서는 root 권한이 없기 때문에 가상 머신 속에서 권한을 얻어야 한다.
  2. 클러스터 맥OS와 VM의 OS 간 클립보드 공유가 되지 않는다. 그래서 명령어를 직접 쳐야 하나라고 생각할 수 있다. 그럴 때 주로 인터넷 메모메일을 사용한다고 한다.
    우리가 복사하고 싶은 문장이나 코드를 맥OS의 메모나 메일에 적어두고, VM 내부에서 메모와 메일에 접속하여 복사를 할 수 있다.
  3. VM 프로젝트 파일의 크기가 매우 크기 때문에, goinfre에 프로젝트 파일을 저장해야 한다. 그래서 프로젝트 파일을 usb에 넣고 다니거나, 따로 저장해두는 것이 goinfre로 인한 프로젝트 파일의 삭제를 막는 방법이다.

끝으로..

과제의 해답이나 풀이과정을 너무 알려주는 것보다
docker는 앞으로 서버 혹은 리눅스를 사용하게 된다면 필수인 서비스 중 하나이다. 스스로 시도해보면서 배울 수 있는 것이 많기 때문에 이 정도로 글을 마치도록 하겠다.

profile
개발하는 학생입니다.

0개의 댓글