Games-and-Simulations / sc-docker

Multi-platform Version of StarCraft: Brood War in a Docker Container, ready to use for bot play simulations.
MIT License
231 stars 40 forks source link

Could not create local docker image #59

Closed kant2002 closed 6 years ago

kant2002 commented 6 years ago

expected behaviour

Image created

actual behaviour

(py3.6) PS D:\d\kant\GitHub\sc-docker> scbw.play --install
WARNING Path C:\Users\kant\AppData\Roaming/scbw found, re-installing scbw package.
WARNING Re-creating the base game image...
INFO checking docker can run
INFO checking whether docker has network sc_net
INFO docker image starcraft:game-0.2b10 removed.
INFO checking if there is local image starcraft:game-0.2b10
INFO image not found locally, creating...
INFO copying files from d:\d\kant\github\sc-docker\scbw\local_docker to C:\Users\kant\AppData\Roaming/scbw\docker.
INFO pulling image ggaic/starcraft:java-0.2b10, this may take a while...
INFO building local image starcraft:game-0.2b10, this may take a while...
Traceback (most recent call last):
  File "D:\d\kant\GitHub\sc-docker\env\py3.6\Scripts\scbw.play-script.py", line 11, in <module>
    load_entry_point('scbw', 'console_scripts', 'scbw.play')()
  File "d:\d\kant\github\sc-docker\scbw\cli.py", line 158, in main
    install()
  File "d:\d\kant\github\sc-docker\scbw\install.py", line 29, in install
    ensure_local_image(SC_IMAGE)
  File "d:\d\kant\github\sc-docker\scbw\docker_utils.py", line 127, in ensure_local_image
    docker_client.images.build(path=base_dir, dockerfile="game.dockerfile", tag=local_image)
  File "d:\d\kant\github\sc-docker\env\py3.6\lib\site-packages\docker\models\images.py", line 258, in build
    resp = self.client.api.build(**kwargs)
  File "d:\d\kant\github\sc-docker\env\py3.6\lib\site-packages\docker\api\build.py", line 152, in build
    if dockerfile and os.path.relpath(dockerfile, path).startswith(
  File "d:\d\kant\github\sc-docker\env\py3.6\lib\ntpath.py", line 585, in relpath
    path_drive, start_drive))
ValueError: path is on mount 'D:', start on mount 'C:'

steps to reproduce

  1. Checkout source code to drive D:\
  2. Create virtualenv in the source code (don't sure that this is matter) virtualenv env/py3.6
  3. Activate environment .\env\py3.6\Scripts\activate.ps1
  4. Run pip install -e . to install scbw locally.
  5. Run scbw.play --install and enjoy the issue

operating system

win 10 Home

docker version

output of command docker version:

    Client:
 Version:       18.01.0-ce
 API version:   1.35
 Go version:    go1.9.2
 Git commit:    03596f51b1
 Built: Thu Jan 11 22:29:41 2018
 OS/Arch:       windows/amd64
 Experimental:  false
 Orchestrator:  swarm

Server:
 Engine:
  Version:      18.01.0-ce
  API version:  1.35 (minimum version 1.12)
  Go version:   go1.9.2
  Git commit:   03596f5
  Built:        Wed Jan 10 20:13:12 2018
  OS/Arch:      linux/amd64
  Experimental: false

scbw version

output of command scbw.play -v

0.2b10
commit ab74275432acac09bd8a5a885a21dddeae259990
kant2002 commented 6 years ago

This should be fixed when docker@3.2.1 will be published

kant2002 commented 6 years ago

docker@3.2.1 released, and issue fixed.