def create_container(params = {})
      raise ArgumentError, 'Invalid arguments.' unless check_arguments(params, 'image')
      path = '/containers/create'
      query = {}
      # set default size, otherwise container can't be started
      body = { labels: { sh_hyper_instancetype: 's1' } }

      # parse host_config options
      if params.key?(:host_config)
        body[camelize(:host_config)] = setup_host_config(params)
        params.delete(:host_config)
      end

      query[:name] = params[:name] if params.key?(:name)
      params.delete(:name)
      body.merge!(params)

      downcase_symbolize(JSON.parse(Hyperb::Request.new(self, path, query, 'post', body).perform))
    end
def create_container(params = {})
      raise ArgumentError, 'Invalid arguments.' unless check_arguments(params, 'image')
      path = '/containers/create'
      query = {}
      # set default size, otherwise container can't be started
      body = { labels: { sh_hyper_instancetype: 's1' } }

      # parse host_config options
      if params.key?(:host_config)
        body[camelize(:host_config)] = setup_host_config(params)
        params.delete(:host_config)
      end

      query[:name] = params[:name] if params.key?(:name)
      params.delete(:name)
      body.merge!(params)

      downcase_symbolize(JSON.parse(Hyperb::Request.new(self, path, query, 'post', body).perform))
    end
create a container

 @see https://docs.hyper.sh/Reference/API/2016-04-04%20[Ver.%201.23]/Container/create.html

 @raise [Hyperb::Error::Unauthorized] raised when credentials are not valid.
 @raise [Hyperb::Error::Conflict] raised container with the same name is already created.
 @raise [Hyperb::Error::InternalServerError] raised when a 5xx is returned

 @return [Hash] hash containing downcased symbolized json response.

 @param params [Hash] A customizable set of params.

 @option params [String] :name container name
 @option params [String] :image image to be used
 @option params [String] :hostname container hostname
 @option params [String] :entrypoint container entrypoint
 @option params [String] :cmd container command
 @option params [String] :user add user to container
 @option params [String] :workingdir working directory for commands to run in.
 @option params [Array] :mounts array of strings with mount directories.
 @option params [String] :networkmode network mode, ie 'bridge'.
 @option params [Hash] :exposedports ports to expose.

 @option params [Hash] :exposedports ports to expose.

 @option params [Hash] :labels hash containing key: value
 @option params labels [String] :sh_hyper_instancetype container size: s1, s2, s3 ...