Module: Aircon::Docker

Defined in:
lib/aircon/docker.rb

Class Method Summary collapse

Class Method Details

.find_container(project:, service:) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/aircon/docker.rb', line 9

def find_container(project:, service:)
  out, _, status = Open3.capture3(
    "docker", "ps", "-q",
    "--filter", "label=com.docker.compose.project=#{project}",
    "--filter", "label=com.docker.compose.service=#{service}"
  )
  return nil unless status.success?

  id = out.strip.lines.first&.strip
  id.nil? || id.empty? ? nil : id
end

.hex_encode_id(container_id) ⇒ Object



21
22
23
# File 'lib/aircon/docker.rb', line 21

def hex_encode_id(container_id)
  container_id.each_byte.map { |b| format("%02x", b) }.join
end