docker 를 어떻게 하면 잘 활용할 수 있을까?

여러가지 방향을 생각해본다.

vagrant 와는 다르게 linux 전용이라 구성에 제약이 따른다.


1. 최대의 성능.

배포용 : 개발머신(linux / docker 호스트)  => docker 이미지

개발용 : 개발PC(win/mac/linux) => 개발환경(linux / docker) + docker pull  <= 배포 이미지

  [필요사항] 배포용 머신이 팀 또는 개인이 보유하고 있어야 한다.

  [장점] linux 머신에 docker 를 바로 세팅해서 최대 성능을 낸다.
  [단점] 리눅스 환경의 개발PC 가 아니면 원격으로 접속해서 개발해야 한다.


2. 관리의 편의.

배포용 : 개발머신(docker 호스트)  => docker 이미지

개발용 : 개발PC+개발환경[ vagrant (docker) ] + docker pull  <= 배포 이미지

  [장점] 개발PC 의 OS 에 상관없이 개발환경을 세팅가능하다.(win / mac)
  [단점] vagrant(vm) 을 활용하기 때문에 성능저하가 있다.



# 개발이 완료된 후 서비스용 설정

기본 구성은 다음과 같이 하려 한다.

서비스서버(docker) + docker pull  <= 배포이미지

서비스서버 를 AWS / DigitalOcean / GoogleCloud 등의 가상서버로 세팅해도 되고, 서버호스팅의 리얼서버를 이용해도 된다.

클라우드는 성능저하가 있겠지만, 빠른배포 와 편의성을 잘 따져보고 결정하면 되겠다.

충분한 테스트를 해보고 결정하는 것이 좋겠다.


디지털오션쪽에 2개월정도 무료사용가능하니 먼저 테스트해봐야 겠다.
(512M 짜리 * 2개 => 1개월 , 4개 => 2주? , 8개 => 1주일정도? )


(무료 사용은 => 링크 참조)

테스트 해보고 사용해도 되겠다 판단이 되면, Core 를 늘려서 서비스용으로 활용해도 되겠다.


# 서비스 시나리오.

서비스용으로 10대의 클라우드 서버에 배포하는 시나리오를 만들고 테스트 해봐야 겠다.

그러고 보니 docker 모니터링툴도 필요하겠다. (관련 자료도 찾아봐야 겠네)


자동화에 필요한 사항은 다양한 시나리오 사례가 만들어지면, 재미있을 것 같다.


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
virtualbox 를 사용해서 개발환경을 만든다. 매우 유용하다.
한 시스템에 서로다른 개발환경을 구축한다면 필수라고 볼 수 있다.
vmware 도 자주 쓰는데, 가벼운(?) virtualbox 를 주로 사용한다.

새로 시스템을 설치하고, virtualbox 를 세팅했다.
예전 시스템의 가상이미지를 그대로 가져오면 되니 편하다.

centos 를 부팅했다. 그런데.
memory for crash kernel (0x0 to 0x0) notwithin permissible range
이런메세지가 나오면서 부팅이 되지 않고 멈춰버린다.(우분투vm 은 상관없었다.)

다음설정을 체크해주면 정상부팅된다.
"IP APIC 사용하기"  를 체크해준다.
그리고 다시 부팅해보면, 위의 메세지가 나오긴 하지만, 부팅은 정상적으로 된다.
(그러면 저 메세지는 뭐지? 예전에도 있었나?)


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
젠드프레임웍을 사용하기 위한 개발환경 구축시 xampp 의 설정중 몇가지 바꿔줄 부분
목적은 ZF 개발환경(zend studio IDE 와 xampp 서버를 사용)

1. xampp 는 여기서 다운로드

2. 설치후에 zend studio 의 workspace 프로젝트로 버쳘호스트 설정해준다.

zend framework 예시는 http://framework.zend.com/docs/quickstart  를 사용했음.
workspace/quickstart/public 을 
xampp/apache/conf/extra/httpd-vhosts.conf 에 virtualhost 설정한다.
<VirtualHost *:80>
    ServerAdmin webmaster@test.com
    DocumentRoot "C:/workspace/quickstart/public"
    ServerName test.com
    ErrorLog logs/dummy-test.com-error.log
    CustomLog logs/dummy-test.com-access.log common

<Directory "C:/workspace/quickstart/public">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
</VirtualHost>
rewrite 모듈이 로드되었는지 확인.
LoadModule rewrite_module modules/mod_rewrite.so  의 주석을 해제.

<Directory ...   부분을 해줘야 정상적으로 http://localhost 로 확인할 수 있다.

3. quickstart 예제 가 PDO sqlite 를 사용한다.(필요시 설정)
php.ini 에서 
extension=php_pdo_sqlite.dll
부분을 주석해제해 준다.
여기서 php.ini 파일은  phpinfo 해서 나오는 위치의 파일이다.
즉, xampp/php/php.ini 이 아니라  xampp/apache/bin/php.ini  파일을 고쳐주어야 한다.
( xampp/php/php.ini 은 php CLI 버전이다 )

일단 여기까지 하면 zend studio 에서 개발할 수 있는 환경이 갖추어진다.
zend studio 에서 ZF 프로젝트 생성하면  public 이 아닌 html 을 기본값으로 생성한다.
(이 부분은 각자 알아서 조정)

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,