$ cd ~/git/
$ git clone git@github.com:nidup/starcraft.git
$ cd ~/git/starcraft
$ docker build -t nidup/starcraft:empty .
$ docker login -u nidup
$ docker push nidup/starcraft:empty
Download the file StarCraft-Setup.exe
in the install
folder from the official blizzard website.
$ cd ~/git/starcraft/install
$ ls
$ StarCraft-Setup.exe
$ docker run -ti --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v /home/nico/git/starcraft/install:/home/developer/install --security-opt seccomp=unconfined nidup/starcraft:empty bash
$ wine install/StarCraft-Setup.exe
Accept to install Mono & Gecko when Wine proposes this option.
It may fails a first time during the install just after the Mono & Gecko install. Re-launch the same command, it should ask to accept the condition and proceed to the install.
Once the install done, don't launch, close the popin and let the image open.
In order to keep this install and not have to re-install each time you run the container, we can commit the current state.
Letting your image running, from your host, you can open a new terminal and commit the change as a new version:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
45e51a9fdd1e nidup/starcraft:empty "bash" 22 minutes ago Up 22 minutes friendly_hodgkin
$ docker commit 45e51a9fdd1e nidup/starcraft:v118
Check the image:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nidup/starcraft v118 496621e99e92 27 seconds ago 5.82 GB
We can now stop the image:
developer@45e51a9fdd1e:~$ exit
$ docker push nidup/starcraft:v118
Install following the ICC Tutorial.
Download the file Brood+War.7z
in the install
folder from the ICC.
Download the file SC-1161.exe
in the install
folder from the official blizzard website.
$ cd ~/git/starcraft/install
$ ls
$ Brood+War.7z SC-1161.exe
Unzip Brood+War.7z
$ docker run -ti --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v /home/nico/git/starcraft/install:/home/developer/install --security-opt seccomp=unconfined nidup/starcraft:v118 bash
$ mkdir ~/.wine/drive_c/Program\ Files\ \(x86\)/StarCraft1161
$ cp -r install/Brood\ War/* ~/.wine/drive_c/Program\ Files\ \(x86\)/StarCraft1161/
In order to keep this install and not have to re-install each time you run the container, we can commit the current state.
Letting your image running, from your host, you can open a new terminal and commit the change as a new version:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c4266930ad4d nidup/starcraft:v118 "bash" 9 minutes ago Up 9 minutes upbeat_pasteur
$ docker commit c4266930ad4d nidup/starcraft:v116
Check the image:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nidup/starcraft v116 622d592ea3f6 15 seconds ago 5.97 GB
We can now stop the image:
developer@45e51a9fdd1e:~$ exit
$ docker push nidup/starcraft:v116