Search
Duplicate

[Inception] 시작하기

간단소개
inception에 시작하기에 앞서
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
42seoul
Scrap
태그
9 more properties

0. 들어가기에 앞서..

사실 대단한 내용을 정리한 글은 아니다. 그저 개인적인 입장(아무것도 모르는 똥멍충이)에서 ‘알고 있었다면 어땠을까’ 라는 생각에 몇가지 적어 본 글이다. 과제에 앞서 가볍게 읽으면 좋을것 같다.

1. 왜 Inception ??

꿈속의 꿈 → 가상머신 위의 가상화
docker 의 용도는 애플리케이션을 환경에 구애받지 않고 실행하기 위해서 라고 할 수 있다. 윈도우와 맥 그리고 리눅스, 리눅스에서도 데비안 알파인... 명령어에서 부터 시작해서 별의 별것이 다르다. 하지만 도커는 이 모든걸 한번 작성해 놓으면 어디서든지 동일한 코드로 빌드할 수 있다.
Inception 과제도 사실 제대로 작성했다면 클러스터 iMac이나 개인 macbook이나 어디서 작성했든지 작성했던 그 구성 그대로 가상머신에서도 똑같이 작동할 것이다.

2. 알고 시작하면 좋을 것들

1. 과제는 결국 대표적인 CMS인 wordpress를 도커컴포즈로 빌드하는것이 목표이다.

스펙은 이제 서브젝트에 나온대로 아래의 그림을 따르면 된다.
웹서버로 NGINX , 데이터베이스로 MariaDB , 그리고 wordpressphp-fpm
사실 나는 이 과제를 시작하기 전에는 프론트엔드와 백엔드에 대해서 애매한 그림만을 가지고 있었다. 근데 거기에 웹서버까지 끼니 머리가 엉망진창이었다. 이와 관련해서 좋은 글이 하나 있어 링크를 남긴다.
3계층 구조에 해당한다고 보면된다. 각각의 컨테이너가 어느 tier에 속하는지 생각해보면서 읽으면 좋을듯 하다. 사실 이 글을 보여주려고 이 노션을 작성했다고 봐도 무방하다. 그리고 wordpress와 php-fpm이 왜 한 컨테이너에 묶여 있는지도 고민해 보면 좋을것 같다.
설명해 주자면, wordpress 를 설치해 보면 죄다 php파일들이다. 정적으로 이미 생성되어 있는 파일이 아니고 그때그때 DB와 연동해 작성해 주는 동적 파일이라는 소리이다. 그러면 php를 해석해서 동적 페이지를 만들어 주는 무언가가 있어야 하는데 그게 이제 php-fpm 이다.

2. DNS서버

/etc/hosts → 개인용 DNS서버

3. 거의 모든 것.

와 이분 아니었으면 과제 일주일은 더 했을것 같다.

깨알 팁!

1.
과제할때는 몰랐는데
a.
wp-config에 환경변수를 통해 설정하고 싶었는데 죽어도 안됐다. 나중에 알고보니 wpcli로 config설정을 할 수 있더라
e.g.) wp config create --allow-root --dbname=wordpress --dbuser=$MARIA_LOGIN --dbpass=$MARIA_PASS --dbhost=mariadb:3306
HTML
복사
b.
(4월5일 추가) : php-fpm 디폴트 설정이 환경변수를 clear한다고 한다 ㅜ. 설정을 바꿔주도록 하자.
2.
도커 베스트 프랙티스 읽으면 좋음
3.
도커컴포즈는 다른게 아니고 도커 여러개 실행시키기 귀찮으니 한꺼번에 쉽게 하려고 만들어 진거다 라고 생각하면 된다 그래서 도커 명령어는 웬만하면 도커컴포즈로 다 할 수 있다.