Giter Site home page Giter Site logo

docker-compose-helper's Introduction

Docker compose helper

Sometimes you have multiple services in your docker-compose configurations as well as multiple compose files. But for some cases you still need run only few services of many. And each time is needed to write huge command passing docker-compose files (-f docker-compose.yml -f docker-compose.dev.yml) and list of services then after command, which is exhausting and easy to make mistakes. This simple script make it a bit better experience. It analyzes compose file and provide interactive CLI to construct full command with files, services and commonly used docker-compose commands.

Demo

Installation

npm i -g docker-compose-helper

Usage

  1. Go to directory where compose file is localed
  2. Run command (currently supported commands up, down, stop, logs, build, ps, pull, rm):
    • passing it directly as argument
      ➜  my_project ✗ dch up
      Used compose files: docker-compose.develop.yml, docker-compose.test.yml, docker-compose.yml
      ? Choose service (Press <space> to select, type name to search):
      ❯◯ backend
       ◯ certbot
       ◯ client
       ◯ influxdb
       ◯ minio
       ◯ mongodb
       ◯ mqtt
       ◯ mysql
       ◯ nginx
       ◯ rabbitmq
      (Move up and down to reveal more choices)
      
    • select command from list (use arrows or type to search):
      ➜  my_project ✗ dch
      Used compose files: docker-compose.develop.yml, docker-compose.test.yml, docker-compose.yml
      ? command: u
      ❯ up
        build
        pull
      
  3. Select service (you cen type to search and use list as multi-select) and press enter to run command.

Commands arguments

Some commands already include predefined arguments to make usage more robust. (e.g. up append also --force-recreate to have new container each time you want to up it and -d not to append service output).

command arguments included
up -d --force-recreate
logs -f --tail 10
rm -f -s

Docker commands

Also it is included ability to attach to container shell using docker exec -it contaner_name bash command. In commands list there two options bash and sh.

Configuration

If you want use only some docker-compose files or set specific order, you can configure it creating .dch.json file in directory where compose files are located:

{
    "composeFiles": [
        "docker-compose.yml",
        "docker-compose.develop.yml"
    ]
}

By default script will use all yaml files found in directory which has structure like to docker-compose files (has services and version section in tpp level).

docker-compose-helper's People

Contributors

unsigned6 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.