orientechnologies / orientdb-docker

OrientDB running in a docker container
MIT License
63 stars 63 forks source link

./bin/gremlin.sh requires bash, but only sh is available in container #47

Open tswaters opened 6 years ago

tswaters commented 6 years ago
$ docker run --rm -d --name orientdb -p 2424:2424 -p 2480:2480 -e ORIENTDB_ROOT_PASSWORD=test -e ORIENTDB_NODE_NAME=odb1 orientdb:3.0.3-tp3 /orientdb/bin/server.sh -Ddistributed=true
{sha}

$ docker exec -it {sha} /bin/orientdb/gremlin.sh
OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused "no such file or directory": unknown

I tried to rename the shebang in this file to /bin/sh but the script itself doesn't like that, failing with an error:

$ docker exec -it {sha} /orientdb/bin/gremlin.sh
/orientdb/bin/gremlin.sh: line 45: syntax error: unexpected redirection

I ended up just installing bash --

$ docker exec -it {sha} apk add --no-cache bash gawk sed grep bc coreutils

With that done, it works as expected:

$ docker exec -it {sha} /orientdb/bin/gremlin.sh

         \,,,/
         (o o)
-----oOOo-(3)-oOOo-----
gremlin> 
revslaughter commented 5 years ago

This helped me a lot! I was having the exact same issue, thank you for this. I think that bash should be included if gremlin.sh depends on it.

palabadi commented 5 years ago

Thank you