2016-09-24 4 views
2

코드 작성을 시작하기 전에 현재 Ubuntu 16.04에서 Docker를 사용하여 내 dev 스택을 시작하려면 다음 9 가지 이상의 단계를 수행해야합니다.다중 서비스 웹 응용 프로그램 (Linux에서)에 대한 도커 개발 환경 시작 자동화 방법

  • 서비스 # 1의 소스 코드 디렉토리에 터미널과 CD를 열고
  • 고정 표시기 - 구성 서비스 # 1 (파이썬/장고, 레디 스, 그리고 포스트 그레스 용기)를
  • 고정 표시기 간부 서비스 1 강타;
  • 는 NPM
  • 와 웹팩 dev에 서버를 실행하는 프런트 엔드 각도 응용 프로그램 소스 디렉토리로 단자와 CD를 열고
  • 조직 일을 유지하기 위해 터미널 탭을 사용하여, 서비스 # 2
  • 반복 디버깅을 위해 장고 dev에 서버를 시작 적절한 소스 코드 디렉토리로
  • 열린 하나 개 이상의 단말기 및 cd 나는 등 gnome-terminal --tab -e "bash -c docker-compose up"으로 모든 것을 시작하는 쉘 스크립트를 작성 시도

를 편집 할 수 있지만,이 어색 가져온 다음에 껍질을 시도 할 때 실패합니다 컨테이너와 물건을 달리다. gnome-terminal --tab -e "bash -c \"docker-compose exec service1 bash -c rundev.sh \"". 또한 xdotool을 사용해 보았지만 어떤 이유로 든 도커 셸 터미널 탭을 식별 할 수 없습니다.

2 개의 백엔드 서비스가있는 SPA를 실행하고 3 가지 코드베이스 각각에 대해 로컬 개발을 수행하는 것은 나에게 Docker 앱 개발을위한 기괴한 사용 사례처럼 보이지 않습니다.

누구나 도구 또는 단순화를위한 대체 dev 환경 설정의 제안이 있습니까?

답변

1

bash 스크립트로 할 수 있지만 올바른 방법은 도커 작성입니다. 실행할 각각의 명령과 함께 2x 서비스를 작성해야합니다. 레일 앱용 example입니다. docker-compose.yml은 이와 비슷한 것이어야합니다.

version: '2' 
services: 
    db: 
    image: postgres 
    web: 
    build: . 
    command: bundle exec rails s -p 3000 -b '0.0.0.0' 
    volumes: 
     - .:/myapp 
    ports: 
     - "3000:3000" 
    depends_on: 
     - db 
+0

그래서 만 고정 표시기-작성 및 대화 형 디버깅에 액세스 할 수 없도록 고정 표시기의 작성을 통해 dev에 서버를 실행하는 단일 서비스를 시작합니다. 그렇기 때문에 컨테이너에서 디버거에 액세스 할 수 있도록 도커 작성기로 컨테이너를 시작한 다음 쉘을 사용하여 dev 서버를 시작해야합니다. –