Fork Me On GitLab

A CLI tool to convert between Docker Compose and Docker CLI.

Please note this website is just for demo purposes. The tool is meant be used as a CLI tool. Hence this website being a bit of a "hack". The code isn't particularly clean however it should still work.

Installation

pip install composerisation

Usage

            
Usage: composerisation [OPTIONS]

  Converts docker-compose files to Docker comamnds.

Options:
  -i, --input-file TEXT           Path to file to convert from docker-compose
                                  to Docker.  [required]

  -l, --log-level [DEBUG|INFO|ERROR|CRITICAL]
                                  Log level for the script.
  --help                          Show this message and exi
          

Demo

          
version: "3.5"

services:
  web_server:
    container_name: nginx
    build:
      context: .
      dockerfile: docker/nginx/Dockerfile
    ports:
      - 80:80
    depends_on:
      - app

  app:
    container_name: flask
    build:
      context: .
      dockerfile: docker/flask/Dockerfile
    env_file: docker/database.conf
    expose:
      - 8080
    depends_on:
      - database

  database:
    container_name: postgres
    image: postgres:latest
    env_file: docker/database.conf
    ports:
      - 5432:5432
    volumes:
      - db_volume:/var/lib/postgresql

volumes:
  db_volume:
        
          
# Start Commands: 

docker network create --driver bridge website_network
docker volume create  db_volume
docker build --file ./docker/nginx/Dockerfile --tag website_web_server .
docker run --name nginx --publish "80:80" --network website_network --detach website_web_server
docker build --file ./docker/flask/Dockerfile --tag website_app .
docker run --name flask --env-file docker/database.conf --expose "8080" --network website_network --detach website_app
docker run --name postgres --env-file docker/database.conf --publish "5432:5432" --volume "db_volume:/var/lib/postgresql" --network website_network --detach postgres:latest

# Delete Commands: 

docker stop nginx
docker rm nginx
docker stop flask
docker rm flask
docker stop postgres
docker rm postgres
docker network rm website_network

        
Copied to clipboard