Skip to content

Commit

Permalink
Add Dockerfile for server & studio
Browse files Browse the repository at this point in the history
1. Add hosts to speed up image download
2. Modify some configs to enable the server to run better in container
3. Because Dockerfile doesn't allow multiple startup commands, currently only the server will be automatically started after the container is started. If you want to start studio, you can enter the container to start it.

Here is a simple container start command:
```bash
docker run -it --name=graph -p 18080:8080 -p 18088:8088 hugegraph:0.10 /bin/bash
```
  • Loading branch information
imbajin committed Feb 1, 2020
1 parent 8041b93 commit 139ecbd
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 1 deletion.
46 changes: 46 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
FROM ubuntu:xenial

LABEL maintainer="HugeGraph Docker Maintainers <[email protected]>"

ENV PKG_URL https://github.com/hugegraph/hugegraph/releases/download

# 1. Install needed dependencies of GraphServer & RocksDB
RUN set -x \
&& apt-get -q update \
&& apt-get -q install -y --no-install-recommends --no-install-suggests \
curl \
lsof \
g++ \
gcc \
openjdk-8-jdk \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

# 2. Init HugeGraph Sever (speed up)
RUN set -e \
&& echo "192.30.253.112 github.com\n151.101.44.249 github.global.ssl.fastly.net" >> /etc/hosts \
&& mkdir -p /root/server \
&& curl -L -S $PKG_URL/v0.10.4/hugegraph-0.10.4.tar.gz -o /root/server.tar.gz \
&& tar xzf /root/server.tar.gz --strip-components 1 -C /root/server \
&& rm /root/server.tar.gz \
&& cd /root/server/ \
&& sed -i "s/^restserver.url.*$/restserver.url=http:\/\/0.0.0.0:8080/g" ./conf/rest-server.properties \
&& sed -n '63p' ./bin/start-hugegraph.sh | grep "&" > /dev/null && sed -i 63{s/\&$/#/g} ./bin/start-hugegraph.sh \
&& sed -n '74p' ./bin/start-hugegraph.sh | grep "exit" > /dev/null && sed -i 74{s/^/#/g} ./bin/start-hugegraph.sh \
&& ./bin/init-store.sh

# 3. Prepare for HugeGraph Studio
RUN set -e \
&& echo "192.30.253.112 github.com\n151.101.44.249 github.global.ssl.fastly.net" >> /etc/hosts \
&& mkdir -p /root/studio \
&& curl -L -S https://github.com/hugegraph/hugegraph-studio/releases/download/v0.10.0/hugegraph-studio-0.10.0.tar.gz -o /root/studio.tar.gz \
&& tar xzf /root/studio.tar.gz --strip-components 1 -C /root/studio \
&& rm /root/studio.tar.gz \
&& sed -i "s/^studio.server.host.*$/studio.server.host=0.0.0.0/g" /root/studio/conf/hugegraph-studio.properties \
&& sed -i "s/^graph.server.host.*$/graph.server.host=0.0.0.0/g" /root/studio/conf/hugegraph-studio.properties

EXPOSE 8080
EXPOSE 8088
WORKDIR /root

ENTRYPOINT ["./server/bin/start-hugegraph.sh"]
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ cassandra.password=
# hbase backend config
#hbase.hosts=localhost
#hbase.port=2181
#hbase.znode_parent=/hbsae
#hbase.znode_parent=/hbase
#hbase.threads_max=64

# mysql backend config
Expand Down

0 comments on commit 139ecbd

Please sign in to comment.