프롤로그

도커(Docker)는 개발자라면 한번쯤은 들어봤을법한 명칭일것이다.

‘도커로 컴포즈를 해야한다, 도커라이즈를 해야한다, 컨테이너라이징을 해야한다’ 등등.. 아마 개발팀원중 누군가 한명이 이런 이야기를 하는것을 한번이라도 들어봤을것이다.

누군가에게 도커가 무엇이냐 물어보면, 혹은 인터넷에서 찾아 본다면, **‘개발환경을 컨테이너에 담아서 돌린다. VM을 사용할 필요가 없다. 엄청 좋다’**라는 추상적인 이야기를 많이 들어봤지만, 그것이 우리 프로젝트에 정확히 어떻게 활성화가 되는지, 프론트엔드 개발에만 집중해왔던 프론트엔드 개발자 입장에선 생소할수도 있는 컨셉일지도 모르겠다. 또 도커에 대한 상세한 글을 찾아보면 대부분에 TL;DR(too long, didn’t read)일경우가 대반사죠. CMS, HTML, Javascript만 죽어라 하던 자들에겐 카더라 정보수준으로 다가올수밖에 없다.

이글은 도커를 알고는 싶은데, 긴글을 읽고 싶지 않은이들을 위한, 도커에 대한 필요한 부분을 프론트엔드 개발자의 각도에서 이해하기 쉽게 짧게(!) 속성으로 예를 들어서 다루어보겠다.

개발을 하면서 프로젝트를 갈아 탈때, 개발환경이 부득이하게 바뀌어야하는 경우가 있다. 프로젝트에 쓰이는 플렛폼이 틀리거나, nodeJS 버전이 다른 프로젝트와의 그것과는 틀리다거나, 나, 리눅스 서버를 돌려된다거나, 등등 여러가지 상황이 있을수가 있다.

예를 하나 들어서, 우리는 React 개발자라고 가정해 보자. 여러분의 컴퓨터 구석구석 하나하나가 react개발을 하기에 최적화가 되어있고 다른 플렛폼을 개발하려면 엄두도 안날정도로 셋팅이 완벽하게 되어있다고 말이다.

뼛속까지 빡돈 당신

난 React개발자인데, 갑자기 상사가 워드프레스 개발을 시키네요 아 뚝빼기 깨고 싶다..^^

라는 상황이 누구나에게 생길수가 있다. 이력서에 PHP를 할수있다고 적은 여러분 자신을 탓해야하나? 어쩌겠나?. 여튼간, 당신은 이제 워드프레스 개발을 시작해야하는 상황에 놓였다.

근데 막상 시작하려고 보니 산넘어 산입니다. 로컬머신에 개발환경을 설정하는데 설치해야하는것이 이만저만이 아니다. 또 테스팅 환경, 스테이징 환경, 라이브 환경을 일맥상통하게 만드는것도 보통일이 아님..니미럴;

이제 곰곰히 생각한다. 워드프레스 개발환경 설정하는 방법, 그옵션은 어떤것이 있을까?

  • ‘안할꺼임 꺼지심’ 이라고 하고 자리를 박차고 나온다. 제일 빠른 방법
  • 그냥 LAMP 환경 깔고 본다. 아몰랑~
  • VM을 깔아서 환경설정을 클린하게 한다. 이걸로 하루 이틀 홀라당 날리고~
  • Docker를 사용한다

응? 누가 도커라고 했어?

그렇다. 도커를 이용하여 워드프레스를 구동시킬수가 있다. 아파치 서버 필요 없이! mySQL 필요없이!

**실전으로 해보겠다

먼저 Docker를 설치하고 실행한다**

  1. https://www.docker.com/ 에 가셔서 Get Started 버튼을 누른다
  2. 회원 가입을 하고 여러분의 OS에 맞는 Docker Desktop을 다운받고 설치
  3. Docker Deskop을 실행

Terminal을 실행하고 프로젝트를 만든다

  1. terminal을 실행하고 프로젝트 폴더를 만든다:
    mkdir wordpress cd wordpress
  2. docker-compose.yml 파일을 생성:
    vim docker-compose.yml
  3. 다음에 나오는 텍스트를 입력:
    version: '3.3' services: wordpress: image: wordpress restart: always ports: - 8080:80 environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: exampleuser WORDPRESS_DB_PASSWORD: examplepass WORDPRESS_DB_NAME: exampledb volumes: - ./wp-content:/var/www/html/wp-content db: image: mysql:5.7 restart: always environment: MYSQL_DATABASE: exampledb MYSQL_USER: exampleuser MYSQL_PASSWORD: examplepass MYSQL_RANDOM_ROOT_PASSWORD: '1' volumes: - db:/var/lib/mysql volumes: wordpress: db:
  4. Docker를 다음의 명령어로 실행:
    docker-compose up -d
  5. 스크립트가 실행될때까지 기다린다. 시간이 좀 걸려요잉…스크립트실행이 끝나면 여러분의 사랑스러운 브라우져를 열고 다음의 주소를 주소창에 친다
    http://localhost:8080/
  6. 짜잔! 당신은 지금워드프레스 웹싸이트를 보고 있을것이다

프로젝트 폴더 안을 보면 wp-content라는 폴더가 생성된것이 보일것이다. 이것은 docker-compose.yml에서 이 폴더를 다운 받는걸로 지정해두었기때문에, 이부분은 도커에 포함되지않고 로컬폴더가 생성 된것이다. 이렇게 하면 워드 프레스 테마를 커스터마이징을 할수가 있다

아쥬~ 간단한 도커 사용법, 말도안되는 예지만, 워드프레스로 훑어보았다.

오늘 글귀의 결론은:

워드프레스 + 도커는 뭐다?

도커 + 워드 프레스 = 개꿀!