시작은 도커를 이용한 분산 서비스 아키텍처 맛보기 이 포스팅으로 부터 시작합니다.


우분투 가상머신에서의 네이티브 docker환경, 그리고 맥에서의 삽질끝에 깔끔하게 정리해 봐야 겠다는 생각이 들어서 정리해 봅니다.


1. docker for mac 설치

  

   두가지 설치 방법이 있는데 신규 설치라면 docker for mac을 설치 하고

   기존 설치 환경을 이용하거나 구버전 OS라면 docker toolbox를 설치 합니다.


   이 포스팅은 docker for mac을 기준으로 하며 docker version 1.12.0 이 설치 됩니다.


   https://docs.docker.com/docker-for-mac/ 


   docker.dmg를 다운받아 더블클릭하고 설치 합니다.

  


실행시키면 경고창이 하나 뜹니다. 닫고 다시 실행시키면 잠시후 트레이에 실행중인 모습이 보입니다.




터미널을 열고 docker -v 해보면 버전확인을 할 수 있습니다. 도커 환경 준비 완료!


2. 환경설정

  

   composer가 필요합니다. brew를 이용하거나 직접 설치 합니다.


3. 프로젝트 복제


  원본 프로젝트를 포크 후 clone하고composer를 실행합니다.


  git clone https://github.com/pokev25/quickstart-intermediate.git quickstart

  cd quickstart

  composer install

 

  redis를 사용할 것이니 추가 합니다.

  composer require predis/predis:^1.0


  서브모듈을 설정하기 위해서 원본을 포크 하고 서브모듈을 추가 합니다.


  git submodule add https://github.com/pokev25/laradock.git

 

4. 예제 처럼 프로젝트 수정

 

    예제의 커밋 로그를 확인하고 동일하게 몇 군데 손봅시다.

    DB는 mariadb를 사용합니다.


    .env

  DB_HOST=mariadb

  CACHE_DRIVER=redis
  SESSION_DRIVER=redis

  REDIS_HOST=redis


  docker-compose.yml에서 사용할 부분만 남기고 제거하고  lb와 web을 추가 합니다.


  사용할 부분만 정리 했으니 이미지를 가동합니다.


  docker-compose up


docker-compose ps 로 실행 상태를 확인

          Name                         Command               State                    Ports
-----------------------------------------------------------------------------------------------------------
laradock_lb_1               /sbin/tini -- dockercloud- ...   Up       1936/tcp, 443/tcp, 0.0.0.0:80->80/tcp
laradock_mariadb_1          docker-entrypoint.sh mysqld      Up       0.0.0.0:3306->3306/tcp
laradock_redis_1            docker-entrypoint.sh redis ...   Up       0.0.0.0:6379->6379/tcp
laradock_volumes_data_1     true                             Exit 0
laradock_volumes_source_1   true                             Exit 0
laradock_web_1              /usr/bin/supervisord -c /e ...   Up       443/tcp, 80/tcp, 9000/tcp
laradock_workspace_1        /sbin/my_init                    Up   

 

브라우저로 localhost에 접속해보면 기본 페이지가 보입니다.

5. 분산환경 테스트


워크스페이스로 들어가서artisan을실행합니다.

docker-compose exec workspace bash

php artisan migrate

exit


docker-compose scale web=3


잘 동작한다.!!

 


6. 받아서 실행만 하기


git clone https://github.com/pokev25/quickstart-intermediate.git quickstart

cd quickstart

git submodule init && git submodule update

composer install


cd laradock

docker-compose up

docker-compose exec workspace bash

php artisan migrate

exit


docker-compose scale web=3

  

ps. 우분투에서 테스트 결과 잘 동작함

docker for mac이 나오면서 맥에서 개발한 docker-compose를 그대로 실환경에서 사용가능해짐

  


  

'지식창고 > docker' 카테고리의 다른 글

WSL2 를 사용하는 도커  (0) 2020.06.05
docker 데이터 저장 경로 변경하기  (2) 2019.05.20
LaraDock 샘플 체험 삽질기 with mac  (0) 2016.08.30
LaraDock 샘플 체험 삽질기  (0) 2016.08.24