class Gitlab::QA::Component::Base

def start # rubocop:disable Metrics/AbcSize

rubocop:disable Metrics/AbcSize
def start # rubocop:disable Metrics/AbcSize
  docker.run(image: image, tag: tag) do |command|
    command << "-d"
    command << "--name #{name}"
    command << "--net #{network}"
    command << "--hostname #{hostname}"
    @ports.each do |mapping|
      command.port(mapping)
    end
    @volumes.to_h.each do |to, from|
      command.volume(to, from, 'Z')
    end
    command.volume(*log_volume.values) unless log_volume.empty?
    @environment.to_h.each do |key, value|
      command.env(key, value)
    end
    @network_aliases.to_a.each do |network_alias|
      command << "--network-alias #{network_alias}"
    end
    @additional_hosts.each do |host|
      command << "--add-host=#{host}"
    end
  end
end