class DockerizeRails::DockerCommands::DockerOptions

Public Class Methods

new() click to toggle source
# File lib/dockerize_rails/docker_commands/docker_options.rb, line 4
def initialize
  @options = {
    'Image' => '',
    'name' => '',
    'Hostname' => '0.0.0.0',
    'ExposedPorts' => {},
    'Env' => [],
    'HostConfig' => {
      'PortBindings' => {},
      'Links' => []
    }
  }
end

Public Instance Methods

add_env(env) click to toggle source
# File lib/dockerize_rails/docker_commands/docker_options.rb, line 39
def add_env(env)
  @options['Env'] << env
end
add_port_binds(container, host) click to toggle source
# File lib/dockerize_rails/docker_commands/docker_options.rb, line 35
def add_port_binds(container, host)
  @options['HostConfig']['PortBindings']["#{container}/tcp"] = [{ 'HostPort' => host }]
end
expose(port) click to toggle source
# File lib/dockerize_rails/docker_commands/docker_options.rb, line 30
def expose(port)
  @options['ExposedPorts']["#{port}/tcp"] = {}
  @options['HostConfig']['PortBindings']["#{port}/tcp"] = [{ 'HostPort' => port }]
end
hostname(hostname) click to toggle source
# File lib/dockerize_rails/docker_commands/docker_options.rb, line 26
def hostname(hostname)
  @options['Hostname'] = hostname
end
image(image) click to toggle source
# File lib/dockerize_rails/docker_commands/docker_options.rb, line 18
def image(image)
  @options['Image'] = image
end
name(name) click to toggle source
# File lib/dockerize_rails/docker_commands/docker_options.rb, line 22
def name(name)
  @options['name'] = name
end
options() click to toggle source
# File lib/dockerize_rails/docker_commands/docker_options.rb, line 47
def options
  Marshal.load(Marshal.dump(@options))
end