BEAR 응용 프로그램의 Docker 개발 환경 구성 예(docker sync, Muutagen)

개시하다
백엔드의 개발 환경에서 Docker가 주류1가 되고 있다.나는 로컬 컴퓨터에 직접 PHP를 설치해서 사용하는 것을 좋아하지만, 사용할 수 없는 경우도 많다.
BEAR.Sunday 응용 프로그램에서 자동으로 파일을 생성하는 입출력이 많기 때문에 Mac의 Docker 환경은 성능 문제를 초래할 수 있습니다.그 해결례로 가무1012씨는 작년Docker + BEAR.Sunday 개발 시 docker sync 사용의 보도에 투고되었다.또한docker-sync에서 진행하는 파일 동기화Mutagen도 가능하다는 것을 알았습니다.2
이 글에서는 베어의 개발 환경을 각각 docker-sync와 뮤타젠(Mutaagen)으로 구축해 성능이 같고 속도가 빠르며 사용감을 설명한다.
환경 확인
  • macOS Catallina 프로세서 1.4GHz 메모리 16GB
  • Docker Desktop v19.03.13 /docker-sync v0.5.14/mutagen v0.12.0-beta2
  • docker-sync, Muagen 환경 구축 예
  • kumamidori/Container.Sunday
  • Mutaagen 설정 위치docker-compose.mutagen.yml
    version: '3'
    
    services:
      app:
        build:
          context: .
          dockerfile: docker/php/Dockerfile
        expose:
          - '9000'
        volumes:
          - source-con-sun:/var/www/html/
    
      web:
        build: docker/nginx/
        ports:
          - '1758:80'
        volumes:
          - source-con-sun:/var/www/html/
        links:
          - app
        depends_on:
          - app
    
    volumes:
      source-con-sun:
    
    x-mutagen:
      sync:
        defaults:
          ignore:
            vcs: true
        source-con-sun:
          alpha: "."
          beta: "volume://source-con-sun"
          mode: "two-way-resolved"
          ignore:
            paths:
              - var/log/hal-app/last.logref.log
          configurationBeta:
            permissions:
              defaultFileMode: 0666
              defaultDirectoryMode: 0777
    
  • 볼륨 마운트 설정
  • x-Mutagen 필드 추가
  • 환경 BEAR 어플리케이션 성능 결과
    BEAR 설치 기본 indexphp 응답 시간:
    Environment
    Time
    Default Docker
    1.10 sec
    Docker + docker-sync
    117 ms
    Docker + Mutagen
    162 ms
  • 지정된 컨텍스트: hal-app
  • 측정 절차 등의 상세한 내용은 상기 창고
  • 를 참조한다.
    이를 통해 알 수 있듯이, docker-sync와 Mutaagen은 거의 같은 고속이다.
    사용 시 문제점
  • Mutagen은 시작할 때 1분 정도 기다려야 하기 때문에 스트레스를 받는다.설정 방법을 통해 개선할 수 있을지 모르지만 아직 조사되지 않았다.또한 절대 경로를 포함하는 기호 링크는 동기화 오류가 발생하므로 제외 설정이 필요합니다.3
  • 끝맺다
    상술한 문제 때문에, 나는 현재 Mac의 Docker가 역시 docker-sync가 좋다고 생각한다.
    이상은 BEAR.Sunday Advent Calendar 202012/22의 보도입니다.새해 복 많이 받으세요!
    문장을 인용하다
  • Mutagen을 사용하여 개발 환경이 무거운 Docker를 3배 빠르게 만들기
  • 최근(208/08)의 Docker for Mac 파일 접근이 느린 문제 노트 - Qita
  • ※ 부기: 홈brew의 docker-sync 설치 절차
    주제와는 상관없지만 제 환경에서 docker-sync를 설치하는 데 시간이 많이 걸렸기 때문에 해결 방법을 적어 두겠습니다.brew install eugenmayer/dockersync/unox
    에서 다음 오류가 발생했습니다(Python 3.8 환경).
    The version of Python to use with the virtualenv in the `eugenmayer/dockersync/unox` formula\ncannot be guessed automatically because a recognised Python dependency could not be found.
    If you are using a non-standard Python depedency, please add 
    `:using => \"[email protected]\"` to\n`virtualenv_install_with_resources` to resolve the issue manually.
    
    brew edit unox... 로 삼다
    depends_on "python@3'depends on으로 다시 쓰기'[email protected]를 설치하였습니다. 4
    Docker란 무엇입니까? -EY-Office  
    DX를 대폭 낮춘 Docker for Mac를 잃어버리고, Mac의 가장 빠른 Docker 환경 - Qita 획득  
    Last error: beta scan error: invalid symbolic link (pub/static/frontend/ReachDigital/sightful/en_US/jquery/patches/jquery-ui.js): target is absolute · Issue #97 · mutagen-io/mutagen  
    brew install eugenmayer/dockersync/unox error · Issue #13 · EugenMayer/homebrew-dockersync  

    좋은 웹페이지 즐겨찾기