fig.yml에서도 Yaml anchors/references로 명확하게 쓸 수 있습니다.

3505 단어 figYAML

경위



예를 들면
  • PHP 5.4, 5.5, 5.6 컨테이너를 고집 Fig으로 시작하고 싶습니다
  • 응용 프로그램 코드는 각 컨테이너가 동일한 디렉터리를 volume 탑재

  • 그렇게 하고 싶을 때, fig.yml 를 이렇게 합니까?
    php54:
      image: example/php54
      ports:
        - "80"
      volumes:
        - /opt/app:/opt/app
    
    php55:
      image: example/php55
      ports:
        - "80"
      volumes:
        - /opt/app:/opt/app
    
    php56:
      image: example/php56
      ports:
        - "80"
      volumes:
        - /opt/app:/opt/app
    
    

    꽤 멋지다. image 만 다르고 나머지는 공통이 되면 이렇게 되어 버리는 경향이 있습니다.

    공통 항목 인 ports 또는 volumesDockerfile에 VOLUME 라든지 EXPOSE 라든지 쓰면 좋다는 것은
    확실히 그대로이지만 모처럼 fig로 호출하기 때문에
    fig.yml 에 어느 정도 정리해 두고 싶다.

    그럴 때



    Yaml의 Anchor(& )와 Reference( * )를 기억했습니다.
    php54: &php
      image: example/php54
      ports:
        - "80"
      volumes:
        - /opt/app:/opt/app
    
    php55:
      <<: *php
      image: example/php55
    
    php56:
      <<: *php
      image: example/php56
    

    깔끔한

    참고


  • Global env variables · Issue #210 · docker/fig
  • Image inheritance · Issue #610 · docker/fig
  • 「各サービスで使えるグローバルなパラメータ設定したいわ」
    「お前それ Yaml の anchor でがんばれよ」
    

    라는 교환이 많았다.

    좋은 웹페이지 즐겨찾기