Docker 获取服务器 API 版本时出错

Docker Error while fetching server API version

我在玩OpenAI的宇宙,点击运行的时候报错

当前脚本:

import gym
import universe  # register the universe environments

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

如果我删除 observation_n 变量,它不会出现错误。使用 observation_n 会导致错误。现在我 运行宁 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'))

在你的程序中在gym.make后添加一行如下,

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

保存。 现在打开两个终端windows。第一种,

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

将开始出现一些乱码。现在直到事情继续进行,在接下来的 window 你使用命令打开你的 anaconda 环境,

source activate universe

然后你 运行 你的 python 代码为 python "path_name"/"program_name".py

完整指南请参考此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