1. Docker use a UFS file system, different images can share the same file 
layer, such as JRE…,  so, If I have two both iot-granafa and iot images in my 
server, actually, I have only one JRE layer.

2. Say I am a user, I only want to use the grafana module, then I have to pass 
a ‘grafana’ param when I run a container, it’s a bit of annoying…

3. In some case, say I am using a k8s, if I want write my own entrypoint 
script, I have to pass a ‘grafana’ param to the iot entrypoint script…

4. Someone hope the image as small as possible, if I only want a grafana, why 
give me an additional iotdb-cluster?

In Summary, I prefer there standalone images to a three-in-one image. 

> 2021年10月20日 下午9:47,Xiangdong Huang <[email protected]> 写道:
> 
>> Downside is that the image would be a bit bigger.
> 
> Well, I think it is fine, as current image is huge because of JRE...
> and the 3 modules have many same files..
> 
> I think `docker run image command` is also a good solution and maybe
> better than my proposal :D
> 
> But can docker-compose also use different command using the same docker image?
> 
> Best,
> -----------------------------------
> Xiangdong Huang
> School of Software, Tsinghua University
> 
> 黄向东
> 清华大学 软件学院
> 
> Julian Feinauer <[email protected]> 于2021年10月20日周三 下午9:25写道:
>> 
>> Hey,
>> 
>> I agree with it (and already stumbled upon it).
>> 
>> Another alternative would be to have only one image containing data for all 
>> three modules and an entrypoint script which distinguishes what process 
>> would really start.
>> 
>> So you would just do
>> 
>> ```
>> docker run iotdb <-- regular
>> docker run iotdb cluster <-- cluster mode
>> docker run iotdb Grafana <-- grafana bridge
>> ```
>> 
>> Downside is that the image would be a bit bigger.
>> Advantage is that we cannot miss once but simply ship one image and that’s 
>> it.
>> 
>> WDYT?
>> 
>> Julian
>> 
>> Von: Xiangdong Huang <[email protected]>
>> Datum: Mittwoch, 20. Oktober 2021 um 15:13
>> An: dev <[email protected]>
>> Betreff: [DISCUSS] use different docker image name for iotdb modules
>> Hi,
>> 
>> Now all iotdb's docker images are under apache/iotdb, e.g.,
>> 
>> - apache/iotdb:0.12.2-node for the single node module
>> - apache/iotdb:0.12.2-cluster for the cluster module
>> 
>> and
>> - apache/iotdb:0.12.2-grafana for the grafana connector module
>> 
>> In this way, we actually use the version of the images to distinguish
>> different modules.
>> 
>> The advantage is that users can find all images in one webpage [1]
>> 
>> The disadvantage is that it is hard to define the tag of "latest".
>> 
>> The problem will be more serious when using docker-compose, for example,
>> we may write a docker-compose file for starting iotdb server, grafana,
>> iotdb-grafana-connector:
>> 
>> ```
>> services:
>>    iotdb:
>>      image: apache/iotdb:0.12.2-node
>>    grafana-connector:
>>      image: apache/iotdb:0.12.2-grafana
>> ```
>> 
>> Then we can not use "latest" and we have to maintain docker-compose
>> file for each version.
>> If we separate the docker repo into individuals, then we never do not
>> need to maintain the docker compose file:
>> 
>> ```
>> services:
>>    iotdb:
>>      image: apache/iotdb
>>    grafana-connector:
>>      image: apache/iotdb-grafana
>> ```
>> and the docker compose file will use the "latest" version directly.
>> 
>> 
>> So, my idea is, apply 3 repos for iotdb docker images:
>> - iotdb, for iotdb-node
>> - iotdb-cluster, for the cluster module
>> - iotdb-grafana, for iotdb-grafana-connecotr module.
>> 
>> How do you think?
>> 
>> 
>> [1] https://hub.docker.com/r/apache/iotdb
>> 
>> Best,
>> -----------------------------------
>> Xiangdong Huang
>> School of Software, Tsinghua University
>> 
>> 黄向东
>> 清华大学 软件学院

Reply via email to