def METHOD_NAME(benchmark_spec):
  """Install docker. Pull the required images from DockerHub. Create datasets.
  Args:
    benchmark_spec: The benchmark specification. Contains all data that is
        required to run the benchmark.
  """
  server_vm = benchmark_spec.vm_groups['server'][0]
  client_vm = benchmark_spec.vm_groups['client'][0]
  # Make sure docker is installed on all VMs.
  for vm in (server_vm, client_vm):
    if not docker.IsInstalled(vm):
      vm.Install('docker')
  # Prepare and start the server VM.
  server_vm.Install('cloudsuite/data-caching:server')
  server_vm.RemoteCommand("echo '%s    dc-client' | sudo tee -a /etc/hosts >"
                          " /dev/null" % client_vm.internal_ip)
  server_vm.RemoteCommand('sudo docker run --name dc-server --net host -d '
                          'cloudsuite/data-caching:server %s' %
                          FLAGS.cloudsuite_data_caching_memcached_flags)
  # Prepare the client.
  client_vm.Install('cloudsuite/data-caching:client')
  client_vm.RemoteCommand("echo '%s    dc-server' | sudo tee -a /etc/hosts >"
                          " /dev/null" % server_vm.internal_ip)