# 野火IM服务docker使用说明

## 编译镜像
首先需要先编译IM服务，在项目根目录下使用下面命令编译
```
mvn clean package
```
生成的软件包在```distribution/target/distribution-XX-bundle-tar.tar.gz```，把此软件包拷贝到docker目录下。

然后进入到docker目录下，编译镜像
```
sudo docker build -t im-server .
```

## 运行
配置：
运行需要手动指定配置目录，手动指定配置目录的方法如下，其中$PATH_TO_CONFIG为im配置目录，需要为绝对路径，模版为```distribution/src/main/resources```目录。另外需要创建h2数据库目录（如果用mysql就不需要了）、日志目录、内置存储服务目录（如果使用其它对象存储服务就不需要了）。h2数据库目录/日志目录/内置存储服务目录需要有写权限，因为IM服务会写入文件。
```
sudo docker run -it --name im-server -v $PATH_TO_CONFIG:/opt/im-server/config -v $PATH_TO_LOGS:/opt/im-server/logs -v $PATH_TO_H2DB:/opt/im-server/h2db -v $PATH_TO_MEDIA:/opt/im-server/media -e JVM_XMX=256M -e JVM_XMS=256M -p 80:80 -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 18080:18080 im-server
```

## 导出镜像
```
sudo docker save -o im-server.tar im-server
```

## 导入镜像
```
sudo docker load -i im-server.tar
```
