Haxe docker

hello all,
i’m interested in using a docker container for testing different versions of haxe . so i tried the haxe docker library . As a first time docker user, i managed to run my image, compile some hxml and get the whole stuff.
But i didn’t succeed in running nekotools server and access it on the host via a browser.
does anyone has experience on this?
here is the dockerfile i use.

FROM haxe:3.4

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

# install dependencies
COPY *.hxml /usr/src/app/
RUN yes | haxelib install all

# compile the project
COPY . /usr/src/app
RUN haxe build.hxml


# run the output when the container starts
#CMD ["neko", "Main.n"]
CMD ["nekotools", "server"]


$ docker build -t dosh
$ docker run --name bim  -d -p 40013:2000 dosh
$ curl --verbose
*   Trying
* connect to port 40013 failed: Connection refused
* Failed to connect to port 40013: Connection refused
* Closing connection 0

any help ?

It might be

I think that runs nekotools "nekotools server" and that you want CMD ["nekotools", "server"] instead.

sorry, typo in the post . fixed it …
but that’s not the issue

When you run docker ps what interfaces/ports are shown?

hi ! i got this :

That output looks fine. It’s just dawned on me that nekotools server by default only listens on localhost (i.e. local to the container). You will need to add the parameter -h

do you mean
$docker run --name bim -d -p 40013:2000 -h dosh

doesnt work neither… :frowning:

The parameter is for nektools: nekotools server -h

Sorry, my fault for being ambiguous. It’s nekotools server -h

thx @ibilon && @anthonyhawes
CMD [“nekotools”, “server” ,"-h", “”] //in dockerfile
run with
docker run -d --name bim -p 2000:2000 dosh

works at

thx again

now i can begin playing

another question …

how would you manage to have a container running with haxe and a server.
and then compile hxml without relaunching the container ?


Can you spell out in more detail what you are trying to achieve?

recompile and restart server w/o restarting container … or more specific module replacing after file save … HMR … I think