Sha256: 7c1c42ae475bc2fc98f0ee965f8dd0e876b1468f7014845235b98e9fc07e5f08

Contents?: true

Size: 1.18 KB

Versions: 4

Compression:

Stored size: 1.18 KB

Contents

class DockerCLI < Thor
  desc 'setup', 'Setup docker and fetch required docker-container for the current project'
  def setup
    docker.setup
  end

  desc 'shell', 'Open a shell in the main docker container for the current project'
  option :secondary, default: false, type: :boolean
  map 'shell' => '_shell'
  def _shell
    docker.shell(:secondary => options[:secondary])
  end

  desc 'vnc', 'Open a vnc viewer connecting to the docker container'
  def vnc
    docker.vnc
  end

  private

  def docker
    require 'geordi/docker'
    Geordi::Docker.new
  end
end

desc 'docker', 'Manage docker containers for the current project'
long_desc <<-LONGDESC
Manage docker containers to run your project dockerized.

It expects a `docker-compose.yml` file that specifies all services, and a service
named "main" that opens a shell for the project.

There are three subcommands:

- `geordi docker setup`
  Fetches all docker containers.

- `geordi docker shell`
  Runs the docker service named 'main'.
  Append `--secondary` to open a second shell in an already running container.

- `geordi docker vnc`
  Opens a VNC viewer to connect to the VNC server in the container.
LONGDESC
subcommand 'docker', DockerCLI

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
geordi-5.4.0 lib/geordi/commands/docker.rb
geordi-5.3.0 lib/geordi/commands/docker.rb
geordi-5.2.4 lib/geordi/commands/docker.rb
geordi-5.2.3 lib/geordi/commands/docker.rb