class Dip::Commands::DNS::Up

Public Class Methods

new(name:, socket:, net:, publish:, image:, domain:) click to toggle source
# File lib/dip/commands/dns.rb, line 10
def initialize(name:, socket:, net:, publish:, image:, domain:)
  @name = name
  @socket = socket
  @net = net
  @publish = publish
  @image = image
  @domain = domain
end

Public Instance Methods

execute() click to toggle source
# File lib/dip/commands/dns.rb, line 19
def execute
  exec_subprocess("docker", "network create #{@net}", panic: false, err: File::NULL)
  exec_subprocess("docker", "run #{container_args} #{@image} --domain=#{@domain}")
end

Private Instance Methods

container_args() click to toggle source
# File lib/dip/commands/dns.rb, line 26
def container_args
  result = %w[--detach]
  result << "--volume #{@socket}:/var/run/docker.sock:ro"
  result << "--restart always"
  result << "--publish #{@publish}"
  result << "--net #{@net}"
  result << "--name #{@name}"
  result.join(" ")
end