Class: Minke::Docker::DockerCompose

Inherits:
Object
  • Object
show all
Defined in:
lib/minke/docker/docker_compose.rb

Instance Method Summary collapse

Constructor Details

#initialize(compose_file, system_runner) ⇒ DockerCompose

Returns a new instance of DockerCompose.



16
17
18
19
# File 'lib/minke/docker/docker_compose.rb', line 16

def initialize compose_file, system_runner
  @compose_file = compose_file
  @system_runner = system_runner
end

Instance Method Details

#logsObject

stream the logs for the current running stack



42
43
44
# File 'lib/minke/docker/docker_compose.rb', line 42

def logs
  @system_runner.execute "docker-compose -f #{@compose_file} logs -f"
end

#public_address(container, private_port) ⇒ Object

return the local address and port of a containers private port



48
49
50
# File 'lib/minke/docker/docker_compose.rb', line 48

def public_address container, private_port
  @system_runner.execute_and_return "docker-compose -f #{@compose_file} port #{container} #{private_port}"
end

#rmObject

remove the containers started in a stack defined by the docker compose file



36
37
38
# File 'lib/minke/docker/docker_compose.rb', line 36

def rm
  @system_runner.execute "echo y | docker-compose -f #{@compose_file} rm -v" unless ::Docker.info["Driver"] == "btrfs"
end

#stopObject

stop the containers in a stack defined by the docker compose file



30
31
32
# File 'lib/minke/docker/docker_compose.rb', line 30

def stop
  @system_runner.execute "docker-compose -f #{@compose_file} stop"
end

#upObject

start the containers in a stack defined by the docker compose file



23
24
25
26
# File 'lib/minke/docker/docker_compose.rb', line 23

def up
  @system_runner.execute "docker-compose -f #{@compose_file} up -d"
  sleep 2
end