Search code examples
python-2.7dockeropenai-gym

Docker Error while fetching server API version


I'm playing with OpenAI's universe, and when I click run, it comes up with an error.

Current script:

import gym
import universe  # register the universe environments

env = gym.make('flashgames.CoasterRacer-v0')
observation_n = env.reset()

If I remove the observation_n variable, it won't come up with an error. With the observation_n it will cause an error. Right now I'm running docker-py (1.10.3).

[2016-12-11 18:32:12,128] Making new env: flashgames.CoasterRacer-v0
[2016-12-11 18:32:12,132] Writing logs to file: /tmp/universe-10547.log
Traceback (most recent call last):
  File "/home/ubuntu/workspace/gim.py", line 5, in <module>
    observation_n = env.reset()
  File "/home/ubuntu/workspace/gym/gym/core.py", line 137, in reset
    self.configure()
  File "/home/ubuntu/workspace/gym/gym/core.py", line 246, in configure
    self._configure(*args, **kwargs)
  File "/home/ubuntu/workspace/universe/universe/vectorized/core.py", line 57, in _configure
    super(Wrapper, self)._configure(**kwargs)
  File "/home/ubuntu/workspace/gym/gym/core.py", line 350, in _configure
    return self.env.configure(*args, **kwargs)
  File "/home/ubuntu/workspace/gym/gym/core.py", line 246, in configure
    self._configure(*args, **kwargs)
  File "/home/ubuntu/workspace/universe/universe/wrappers/render.py", line 18, in _configure
    super(Render, self)._configure(**kwargs)
  File "/home/ubuntu/workspace/universe/universe/vectorized/core.py", line 57, in _configure
    super(Wrapper, self)._configure(**kwargs)
  File "/home/ubuntu/workspace/gym/gym/core.py", line 350, in _configure
    return self.env.configure(*args, **kwargs)
  File "/home/ubuntu/workspace/gym/gym/core.py", line 246, in configure
    self._configure(*args, **kwargs)
  File "/home/ubuntu/workspace/universe/universe/wrappers/throttle.py", line 27, in _configure
    super(Throttle, self)._configure(**kwargs)
  File "/home/ubuntu/workspace/universe/universe/vectorized/core.py", line 57, in _configure
    super(Wrapper, self)._configure(**kwargs)
  File "/home/ubuntu/workspace/gym/gym/core.py", line 350, in _configure
  File "/home/ubuntu/workspace/gym/gym/core.py", line 246, in configure
    self._configure(*args, **kwargs)
  File "/home/ubuntu/workspace/universe/universe/envs/vnc_env.py", line 192, in _configure
    api_key=api_key,
  File "/home/ubuntu/workspace/universe/universe/remotes/build.py", line 19, in build
    n=n,
  File "/home/ubuntu/workspace/universe/universe/remotes/docker_remote.py", line 43, in __init__
    self._assigner = PortAssigner(reuse=reuse)
  File "/home/ubuntu/workspace/universe/universe/remotes/docker_remote.py", line 149, in __init__
    self.client, self.info = get_client()
  File "/home/ubuntu/workspace/universe/universe/remotes/docker_remote.py", line 143, in get_client
    return docker.Client(base_url=host, version=client_api_version), info
  File "/usr/local/lib/python2.7/dist-packages/docker/client.py", line 99, in __init__
    self._version = self._retrieve_server_version()
  File "/usr/local/lib/python2.7/dist-packages/docker/client.py", line 124, in _retrieve_server_version
    'Error while fetching server API version: {0}'.format(e)
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', error(2, 'No such file or directory'))

Solution

  • In your program add a line after gym.make as follows,

    env = gym.make('flashgames.DuskDrive-v0')
    env.configure(remotes="vnc://localhost:5900+15901")
    observation_n = env.reset()
    

    save it. Now open two terminal windows. In first type,

    sudo docker run -p 5900:5900 -p 15901:15901 --privileged --cap-add SYS_ADMIN --ipc host quay.io/openai/universe.flashgames:0.20.7
    

    Some gibberish will start appearing. Now till that thing is going on, in the next window you open your anaconda environment using command,

    source activate universe
    

    Then you run your python code as, python "path_name"/"program_name".py

    For complete guide please refer to this link -

    https://alliseesolutions.wordpress.com/2016/12/08/openai-universe-installation-guide-ubuntu-16-04/ https://medium.com/@alexbhandari/openai-universe-getting-started-on-mac-52d601ef9161#.p8njfuqff