Skip to main content

Expand your docker-compose.yml file

Project description

Docker Compose Expand

Expand your docker-compose.yml file with this tool.

Install

$ pip3 install --user docker-compose-expand

Usage

Your services in docker-compose.yml file.

version: "3"
services:
  api:
    image: ef9n/supervisord:0.1.0
    restart: on-failure
    ports:
      - "9001:9001"

  products:
    image: ef9n/supervisord:0.1.0
    restart: on-failure
    ports:
      - "9002:9001"

  analysis:
    image: ef9n/supervisord:0.1.0
    restart: on-failure
    ports:
      - "9003:9001"

  monitoring:
    image: ef9n/supervisord:0.1.0
    restart: on-failure
    ports:
      - "9004:9001"

Instead of using the docker-compose tool, define the same services in the docker-compose-expand.yml file and use the docker-compose-expand tool that generates the docker-compose.yml file for your expandable services.

  • You can define variables in loop field or vars field.

  • In the loop field, you can refer to a variable which is in the vars field.

Loop Field

version: "3"
services:
  api:
    image: ef9n/supervisord:0.1.0
    restart: on-failure
    ports:
      - "9001:9001"

expand:
  vars:
  services:
    - name: "{{ name }}"
      service:
        image: ef9n/supervisord:0.1.0
        restart: on-failure
        volumes:
          - "/tmp/{{ name }}/:/opt/{{name}}/"
        ports:
          - "{{ port }}:9001"
      loop:
        - name: products
          port: 9002
        - name: analysis
          port: 9003
        - name: monitoring
          port: 9004

Vars Field

# Vars Field
version: "3"
services:
  api:
    image: ef9n/supervisord:0.1.0
    restart: on-failure
    ports:
      - "9001:9001"

expand:
  vars:
    supervisors:
      - name: products
        port: 9002
      - name: analysis
        port: 9003
      - name: monitoring
        port: 9004
  services:
    - name: "{{ name }}"
      service:
        image: ef9n/supervisord:0.1.0
        restart: on-failure
        volumes:
          - "/tmp/{{ name }}/:/opt/{{name}}/"
        ports:
          - "{{ port }}:9001"
      loop: "{{ supervisors }}"

Examples

Look up the examples directory.

Credits

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

docker-compose-expand-0.1.0.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

docker_compose_expand-0.1.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file docker-compose-expand-0.1.0.tar.gz.

File metadata

  • Download URL: docker-compose-expand-0.1.0.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.10 CPython/3.7.1 Linux/4.19.12-2-MANJARO

File hashes

Hashes for docker-compose-expand-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3b03d700ef930c0876305b57b0286bd630639b98cba8eefb8447db908e0cf16a
MD5 c2fe23ab54e0059989cdd3f42a777bf7
BLAKE2b-256 a549bb9104007bdceeb18b08420058728a37d8955fc6dc80197aff9b28476694

See more details on using hashes here.

File details

Details for the file docker_compose_expand-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for docker_compose_expand-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ac7532d254bd0638391c287177465b3e97fd0b3d9c5848f50da2d42a466cc53f
MD5 c73df946a8bd384a8e811b2ca6c62835
BLAKE2b-256 e93b08ea469946bbda374093458b4cd53f04ec6ba313346ffecdf74f933e1796

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page