Docker가 개발 환경을 구축하는 이유

3780 단어 productivitydevtips
본문 최초 발표my blog
새로운 일의 즐거움.
당신은 첫날 그곳에 도착했습니다. 소개한 후에 첫 번째 임무를 부여받았습니다. 프로젝트를 시작하고 개발 상자에서 실행하십시오.
이 작업에는 다음 설명이 포함된 wiki 링크가 있습니다.
  • X 다운로드
  • Y 설치
  • 실행 "/build--특수 로고"
  • Z를 W로 복사
  • bar 대신 foo 확보
  • ...
  • 너는 그것이 어떻게 끝날지 안다.만약 당신에게 어떤 의문이 있다면, 당신의 새 사장은 이 점을 증명할 것이다.
    "그것은 좀 유행이 지났을 수도 있습니다. 만약 어떤 문제가 발견되면 그것을 업데이트해 주시겠습니까?"
    이틀 후, 당신은 득의양양하게 나타났고, 자신의 성취를 자랑스러워하며, 얼굴에 미소를 띠었다. 당신의 최신 지시가 이렇게 정확해서, 다음에 가입한 사람은 영원히 당신에게 감사할 것이다.

    그렇게 지도 모른다, 아마, 아마...


    비키의 설명은 팀의 모든 구성원들이 단지 한 번의 시련을 통과할 수 있기 때문에 충분한 해결 방안인 것 같다.다음을 제외합니다.
  • 당신은 새로운 빛나는 개발 상자를 얻을 수 있습니다.
  • 당신의 개발 상자가 죽었습니다.
  • 다른 항목으로 이동합니다.
  • 6개월 후에 당신은 원래의 프로젝트로 돌아갑니다.아무것도 소용없어.
  • 새로운 기능은 Zookeeper가 필요합니다. 모든 사람이 로컬 Zookeeper 집단을 설정해야 합니다!
  • 운영체제가 업그레이드되었습니다. "여기fav 데이터베이스 삽입"을 다시 시작하고 싶지 않습니다.DLL 지옥에 오신 걸 환영합니다.
  • 당신의 팀이 여전히 유지하고 있는 이전 프로젝트는 Maven 2.1.1이 필요하지만, 현재 프로젝트는 >3.3이 필요하고, Postgres 7.1이 필요하지만, 새 프로젝트는 적어도 9.5가 필요합니다. Postic과 OpenFTS 확장이 있습니다.
  • Polyglot 마이크로서비스 회사!마ven,gradle,npm,yarn,node,make,go,ruby,rake,lein,sbt,rebar,cassandra,mongodb,redis,postgresql,couchbase...
  • 그러나 때때로 일부 구성 요소는 알 수 없는 이유로 작업을 멈추고 영원히 다시 시작하지 않습니다.

    Docker Compose 입력


    Docker Compose는 파일을 사용하여 다중 컨테이너 시스템을 정의하고 Docker에서 실행하여 시스템을 격리하기 위한 전용 네트워크를 만들 수 있는 도구입니다.
    Docker Compose 파일은 다음과 같이 간단하게 Postgres 및 Redis를 시작합니다.
    version: "3"
    services:
      postgres:
        image: postgres:9.5
        volumes: 
          - ./db-provision:/docker-entrypoint-initdb.d/
        ports: 
          - 5432:5432
      redis:
        image: redis:3.2.9
    
    프로젝트에 용기를 설정할 수 있습니다. Docker Compose는 내부 용기와 dev box 사이에 포트와 파일을 비추는 새로운 환경을 만들 수 있습니다.
    유사:

    Docker Compose를 사용하여 로컬 개발 환경을 설정하고 실행할 수 있습니다.
    뭐 공부 해요?
    어떻게
    시스템 설정 및 시작 명령
    docker 합성
    새 구성 요소를 업그레이드하거나 추가하는 명령
    docker 조립--조립
    시스템 중지 명령
    docker 쓰기 중지
    시스템의 흔적을 지우는 명령
    docker compose down--고립 항목 삭제--rmi all
    정확하고 반복 가능한 프로세스
    Docker Compose 파일은 기계에서 실행되므로 부정확한 공간이 없습니다.이미지의 변경할 수 없는 버전을 사용하고 있는지 확인하십시오.
    영원히 유행에 뒤떨어지지 않는 과정
    팀은 매일 Docker Compose를 사용하여 개발하고 시스템의 모든 변경 사항을 Docker 파일에서 완료해야 하기 때문에 명령이 유행에 뒤떨어지지 않습니다.
    버전 제어 가능 절차
    Docker 파일은 일반 텍스트 파일로 다른 프로젝트 원본 코드와 병렬됩니다. 이 파일은 동업자의 심사를 거쳐 스크롤, 구분이 가능한 변경을 거칩니다...
    실험을 허용하는 과정
    시스템을 쉽게 파괴하고 다시 만들 수 있으며 Docker 파일을 롤백할 수 있기 때문에 새 버전의 구성 요소를 시도하거나 설정을 변경할 위험이 없습니다.
    같은 프로젝트의 여러 버전 또는 여러 항목을 동시에 실행하는 방법
    불행하게도, 이것은 Docker Compose 파일에 공개된 포트를 다시 비추기 위해 수동 수정이 필요할 수도 있지만, 적어도 모든 포트는 한 파일에 있습니다.다음은 간단한:dockercompose-p my project one up-d;docker compose-p 내 프로젝트 다시 시작

    유사한 생산 환경이 있습니까?


    Docker에 대해 이야기할 때, 일반적으로 언급되는 장점 중 하나는 사람들이 어디에서든 생산과 유사한 환경을 운행할 수 있다는 것이다.
    사실 이것은 매우 큰 장점이다.CI 서버는 유사한 생산 버전에 대해 테스트를 실행하고 로컬에서 이러한 버전을 실행할 수 있어야 하지만 일상적인 개발 체험에 대해 빠른 피드백 주기를 허용하는 설정이 필요합니다.
    예를 들어, 변경할 때마다 JavaScript 파일을 최소화하지 않으려면 자동 새로 고침이 필요할 수 있습니다.
    신속한 피드백이 더욱 중요하다.
    이 개발 환경은 프로젝트에 필요한 모든 구축 도구를 포함해야 하기 때문에 설치 설명은 "maven/npm 설치"절차를 포함해서는 안 됩니다.이러한 도구는 Docker 컨테이너에 있어야 합니다.이렇게 하면 팀의 모든 사람이 같은 운영체제 버전에서 같은 도구 버전을 사용할 것이다.

    결론


    생산에서 Docker를 사용하지 않더라도 개발 환경을 설정하거나 업그레이드하는 데 사용할 수 있습니다.
    이 과정은 가능한 한'docker compose up'에 접근해야 한다.별거 아니야.
    당신의 개발 프로그램을 큰 전역 변수로 보지 마세요.Docker Compose를 사용하여 이를 좋은 불가변으로 간주합니다.
    Docker를 사용하여 로컬 개발자 환경을 구축하는 방법에 대해 이미 알고 있습니다.

    좋은 웹페이지 즐겨찾기