Sha256: 640d3746bdebc1b3e69effc99e3734b9b04e90c48c57aa8d62af944cf637b3c3
Contents?: true
Size: 1.09 KB
Versions: 2
Compression:
Stored size: 1.09 KB
Contents
require 'yaml' module Sct class ShellCommand def error message UI.error message exit 1 end def execute args, options command = args.empty? ? "bash" : args.join(" ") file = "docker-compose.dev.yml" if !File.exist? file error "Could not find file '#{file}'." end manifest = YAML.load File.read file services = manifest["services"].to_a service, service_spec = services.first container = service_spec["container_name"] project = `docker container inspect --format '{{index .Config.Labels "com.docker.compose.project"}}' #{container}`.chomp if project == "spend-cloud" print "This container was not started with 'sct dev'. Are you sure you want to continue? [y/N] ".red answer = $stdin.readline.chomp.downcase if answer != "y" exit end end user = options.root ? "root:root" : "$(id -u):$(id -g)" puts "Attaching to shell in container #{container.bold}".green system "docker exec -it --user #{user} #{container} #{command}" end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sct-1.10.2 | sct/lib/sct/commands/shell.rb |
sct-1.10.1 | sct/lib/sct/commands/shell.rb |