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 >> >> 黄向东 >> 清华大学 软件学院
