Sha256: 3d9ca18b153e078db7bc20eea599487fe47e5415c6ba42fc00326251513d4637

Contents?: true

Size: 760 Bytes

Versions: 4

Compression:

Stored size: 760 Bytes

Contents

module Baleen
  module Container

    class DockerClient
      Result = Struct.new("Result", :status_code, :container_id, :log)

      def create_container(params)
        @container = Docker::Container.create('Cmd' => [params.shell, params.opt, params.commands], 'Image' => params.image)
      end

      def start_container
        info "Start container #{@container.id}"
        @container.start
        @container.wait
        info "Finish container #{@container.id}"
      end

      def result
        rst = @container.json
        log = @container.attach(:stream => false, :stdout => true, :stderr => true, :logs => true)

        Result.new(
          rst["State"]["ExitCode"],
          rst["ID"],
          log
        )
      end

    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
baleen-0.1.1 lib/baleen/container.rb
baleen-0.1.0 lib/baleen/container.rb
baleen-0.0.12 lib/baleen/container.rb
baleen-0.0.11 lib/baleen/container.rb