2014-12-11 2 views
0

저는 조직의 Wordpress 사이트 작업을위한 "개발 환경"을 배포하는 쉬운 방법을 만드는 방법을 알아 내려고하고 있습니다. 우리는 현재 Wordpress 사이트를 운영하는 로컬 Linux 서버와이 서버의 상태가 매우 좋지 않은 VirtualBox 이미지를 가지고 있습니다. 우리는 현재 현지 개발을 위해 팀원들에게 이것을 배포하고 있는데, 이는 지역 이미지가 종종 너무 다르기 때문에 많은 문제를 야기합니다.쉽게 배포 할 수있는 개발 환경 만들기 - Docker/Vagrant?

나는 데이터베이스의 사물에 대해 너무 걱정하지 않는다; 나는 라이브 서버에서 매주 덤프를하고 개발자가 최신 정보를 유지할 수 있다고 생각하고있다.

나는 PHP/Apache/MySQL이 이미 구성된 OSX 또는 Windows 사용자에게 미리 구성된 스택을 쉽게 배포 할 수있는 방법을 찾는데 관심이 많습니다. git 클라이언트는 명령 줄 인터페이스에서 모든 정적 파일을 가져 오도록 설정했습니다. - 사용자가 방금 실행 한 다음 localhost : 8000으로 이동하여 볼 수 있습니다. 또한 git 저장소에서 가져온 파일을 편집 할 수있는 방법이 필요합니다.

저는 현재 Docker와 Vagrant에 대해 조사하고 있습니다 만, Docker가 Linux 컴퓨터에 더 적합 할 것 같아서이 작업에 더 적합한 것은 아닌지 잘 모르겠습니다. 저는 Vagrant가 외부 폴더를 VM에 매핑하는 것을 지원합니다. VM은 내 문제를 해결할 것 같지만 Chef/Puppet/등을 배우기 전에 더 많은 제안을 요청하고 싶습니다.

답변

1

Vagrant와 Docker를 모두 사용하여 문제를 해결할 수 있습니다. 방랑자는 Windows/Mac 컴퓨터와 환경을 공유하는 것이 더 적절할 수 있지만 이러한 시스템의 Docker와의 통합은 boot2docker와 같은 도구를 사용하는 것이 좋습니다. 대조적으로 Docker는 적절한 Linux 커널 또는이 도구 중 하나를 사용해야합니다.

만약 내가 Vagrant 옵션을 개발해야한다면, 같은 기계에 설치된 모든 의존성을 가진 컴퓨터를 설정할 것입니다. 설치하려면 Vagrant에서 제공되는 제공 업체 중 하나 (예 : 요리사, 인형)를 사용할 수 있습니다. 이전 경험이 있거나 bash에별로 관심이 없다면 더 쉬울 수도 있습니다. https://github.com/r8/vagrant-lamp

Docker를 사용하는 것도 매우 좋은 방법입니다. 질문에 답하면 호스트 컴퓨터의 모든 로컬 폴더를 도커 실행 옵션 -v 또는 --volume을 사용하여 컨테이너와 공유 할 수 있습니다. 이 경우 나는 제공하고자하는 각각의 서비스 (예 : PHP 서버, MySQL, Apache ..)를 독립 컨테이너로 실행하고 도커 실행 옵션 --link을 사용하여 연결합니다. 이 컨테이너를 만들기 위해 Dockerfiles를 프로그래밍하면 Chef 또는 Puppet을 사용하는 것보다 어려울 수 있습니다 (컨테이너를 작성하는 데 사용할 수 있지만 통합은 Vagrant만큼 좋지 않습니다). 그러나 Docker를 사용하면 Docker 허브에서 사용할 수있는 모든 응용 프로그램을 사용할 수 있습니다. 또한 나는 fig (www.fig.sh)라는 도커 도구를 사용하여 서비스를 쉽게 연결하고 구성 할 수있는 컨테이너 클러스터를 실행하고 모든 컨테이너를 매우 편하게 관리 할 수 ​​있습니다. 다시 예를 들어, 인터넷을 통해이 사용자 사례의 예를 찾을 수 있습니다 (예 : https://github.com/kasperisager/phpstack

).