Module: Kamal::Docker

Extended by:
Docker
Included in:
Docker
Defined in:
lib/kamal/docker.rb

Constant Summary collapse

BUILD_CHECK_TAG =
"kamal-local-build-check"

Instance Method Summary collapse

Instance Method Details

#included_filesObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/kamal/docker.rb', line 8

def included_files
  Tempfile.create do |dockerfile|
    dockerfile.write(<<~DOCKERFILE)
      FROM busybox
      COPY . app
      WORKDIR app
      CMD find . -type f | sed "s|^\./||"
    DOCKERFILE
    dockerfile.close

    cmd = "docker buildx build -t=#{BUILD_CHECK_TAG} -f=#{dockerfile.path} ."
    system(cmd) || raise("failed to build check image")
  end

  cmd = "docker run --rm #{BUILD_CHECK_TAG}"
  out, err, status = Open3.capture3(cmd)
  unless status
    raise "failed to run check image:\n#{err}"
  end

  out.lines.map(&:strip)
end