Official docker image need more modules
See original GitHub issueI have been following issue 341 and is really excited to be able to use it, however I think it needs some of the prerequisites added to the Dockerfile.
For example the following log entries work on my standalone install:
mqttwarn | 2018-10-30 11:19:16,856 DEBUG [slack] *** MODULE=services/slack.py: service=slack, target=openhabalarm
mqttwarn | 2018-10-30 11:19:16,857 ERROR [slack] slacker module missing
mqttwarn | 2018-10-30 11:19:16,858 WARNING [mqttwarn] Notification of slack for '/openhab/notification/alarm' FAILED or TIMED OUT
mqttwarn | 2018-10-30 11:19:16,859 DEBUG [mqttwarn] Job queue has 5 items to process
mqttwarn | 2018-10-30 11:19:16,859 DEBUG [mqttwarn] Processor #0 is handling: 'pushbullet' for david
mqttwarn | 2018-10-30 11:19:16,864 DEBUG [pushbullet] *** MODULE=services/pushbullet.py: service=pushbullet, target=david
mqttwarn | 2018-10-30 11:19:16,865 WARNING [pushbullet] pushbullet is not installed
mqttwarn | 2018-10-30 11:19:16,866 WARNING [mqttwarn] Notification of pushbullet for '/openhab/notification/alarm' FAILED or TIMED OUT
On the normal install I am able to install the dependencies, but the docker image mean I need to build my own for my specific needs unless you could add some of the popular ones at least.
Many thanks in advance!
Issue Analytics
- State:
- Created 5 years ago
- Reactions:2
- Comments:18 (9 by maintainers)
Top Results From Across the Web
Docker Official Images
The Docker Official Images are a curated set of Docker repositories hosted on Docker Hub. They are designed to: Provide essential base OS...
Read more >What do I need to change in NGINX official Docker's image to ...
3 --network host -t so:57739560 . Run the container: docker run --rm -it -p 80:80 so:57739560. For another example of building dynamic modules...
Read more >Container Modules - Garden
container modules can be used to just build container images, or they can specify deployable services through the optional services key, as well...
Read more >Docker Open Source Engine Guide | Creating Custom Images
For creating your custom image you need a base Docker image of SLES. ... For more information about docker build options, see the...
Read more >Running Airflow in Docker
When you want to run Airflow locally, you might want to use an extended image, containing some additional dependencies - for example you...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
I did an experiment to create a Docker image which includes as many dependencies as I could find reading through the README: https://github.com/rgitzel/mqttwarn/blob/docker-dependencies/Dockerfile#L5
With all those dependencies added, the Docker image is 420Mb
With very few dependencies, the “official” image built yesterday is 356Mb
So basically installing all the extra libraries results in no appreciable difference in size.
Then I modified it to use Alpine as the base OS, which reduced the image to 117Mb
That’s indeed smaller, but frankly I don’t think it’s worth the work sorting out all the picky library bits that are missing from Alpine (indeed, the Azure library would be painful). 420Mb isn’t anything out of the ordinary, particularly for a server application.
CAVEAT: I haven’t tested either of these images beyond running them on the command-line:
Because Python is interpreted, the app probably won’t fail for a given plugin until it’s run. But at least those many dependencies installed without any apparent conflict.
@tinuva could you give one or both of the new images a try?
rgitzel/mqttwarn-full-alpine
andrgitzel/mqttwarn-full
. They hopefully have everything installed that you need.And if anyone notices any dependency I missed (other than the Mac-dependent ones), let me know and I’ll add them.
Hey Guys, Just my 2 cents on this one being somewhat an experienced docker user.
I think going down the path of having ALL the modules installed on an image would be somewhat troublesome as it would increase the image size exponentially.
Also, Using a tag to define the modules would also be difficult if there is more than one module requirement. How would you be able to use Pushbullet and MySQL and hipchat all in the one image?
@amotl is on the money though with having a command that you can run to install them, as you’d be able to use your own dockerfile to specify the modules you want if need be. Failing that, could you use arguments to install the plugins on first run? That way when you use ‘docker run’ you will be able to pass arguments for the module installation at the end of the command. Both of these approaches are what other developers use for their docker repos and it allows full customisation of different scenarios.