diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 00000000..2c62106a --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,19 @@ +FROM openjdk:8-jre-alpine + +ADD ../distribution/target/distribution-*-bundle-tar.tar.gz /opt/im-server/ + +RUN sed -i 's/#JAVA_OPTS="$JAVA_OPTS -Xmx128M"/JAVA_OPTS="$JAVA_OPTS -Xmx$JVM_XMX"/g' /opt/im-server/bin/wildfirechat.sh +RUN sed -i 's/#JAVA_OPTS="$JAVA_OPTS -Xms128M"/JAVA_OPTS="$JAVA_OPTS -Xms$JVM_XMS"/g' /opt/im-server/bin/wildfirechat.sh + +WORKDIR /opt/im-server + +VOLUME /opt/im-server/config +VOLUME /opt/im-server/logs + +EXPOSE 80/tcp 1883/tcp 8083/tcp 8084/tcp 18080/tcp + +ENV JVM_XMX 256M +ENV JVM_XMS 256M + + +CMD ./bin/wildfirechat.sh diff --git a/docker/README.md b/docker/README.md new file mode 100644 index 00000000..559c13d1 --- /dev/null +++ b/docker/README.md @@ -0,0 +1,19 @@ +# 野火IM服务docker使用说明 + +## 编译镜像 +首先需要先编译应用服务,在项目根目录下使用下面命令编译 +``` +mvn clean package +``` + +然后进入到docker目录下,编译镜像 +``` +sudo docker build -t wildfire_im . +``` + +## 运行 +配置: +运行需要手动指定配置目录,这样不用重新打包镜像。手动指定配置目录的方法如下,其中$PATH_TO_CONFIG为im配置目录,模版为```distribution/src/main/resources```目录: +``` +sudo docker run -it -v $PATH_TO_CONFIG:/opt/im-server/config -v $PATH_TO_LOGS:/opt/im-server/logs -e JVM_XMX=256M -e JVM_XMS=256M -p 80:80 -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 18080:18080 wildfire_im +```