Docker-Compose를 사용하여 Docker에서 심포니 애플리케이션을 구현하고자합니다. 내가 가진 것 적어도 다음과 같은 용기 :Docker 환경에서 Symfony를 사용하여 생산 용
- Nginx에
- Rabbitmq 서버
- PHP-FPM
- MySQL의
- SOLR 현재
우리가 위의 사용하여 개발 환경을 설정도.
Symfony 응용 프로그램은 로컬 (호스트)에 저장되고 응용 프로그램을 읽을 수 있도록 PHP-FPM 컨테이너에 볼륨이 사용됩니다. 우리는 bash
을 php-fpm 컨테이너에 넣어 composer/app/console 명령을 실행합니다.
또한 rabbitmq 서버의 메시지를 사용하는 소비자 (Symfony 명령)도 수동으로 실행합니다.
프로덕션에서 사용할 수있는 옵션은 무엇입니까?
1) 응용 프로그램을 실행하는 단일 컨테이너를 만든 다음 다른 컨테이너에서 사용할 수 있습니까? php-fpm 컨테이너에 애플리케이션 코드에 대한 액세스가 필요하다는 것을 알았지 만 컨슈머를 실행하기위한 컨테 이너를 만들고 싶습니다. 컨테이너로 실행하는 서비스의 이름을 전달합니다. 즉 단일 이미지를 가질 수 있습니다. 모든 대기열에서 메시지를 처리하기 위해 유연하게 실행될 수 있습니다. 이 옵션에서 로그/캐시는 어떻게됩니까?
2) 응용 프로그램을 필요로하는 각 이미지 내에 저장합니까? 이것은 내가 가장 선호하는 옵션으로 애플리케이션을 업데이트하기 위해 각 이미지를 빌드해야합니다.
3) 아직 조사하지 않은 항목이 있습니까?
어플 리케이션을 쉽게 업데이트 할 수 있도록 허용하고 싶습니다.하지만 다운 타임을 최소화하고 싶습니다. haproxy 또는 이와 유사한 것을 사용하면됩니다. 다른 사람이 멀티 컨테이너 심포니를 실행 한 경험이 있습니까? 생산에 응용 프로그램?
우리는 현재 2 – Matteo
@Matteo 옵션 번호가 어떻게 응용 프로그램에 대한 업데이트를 수행 할 채택 고정 표시기-compose.yml의 발췌 한 것입니까? 모든 종류의 이미지를 재구성하는 스크립트? 컨테이너를 다시 시작 하시겠습니까? – ManseUK
우리는 github 훅으로 컨테이너를 재건축하는 도커 - 클라우드를 사용합니다. – Matteo