slim
slim copied to clipboard
new version 1.25.2 'using default probe' if --http-probe not set
Previous Versions:
If you run docker-slim build without param --http-probe this meant --http-probe=false as default as described in the README.
Now:
If you run docker-slim build without param --http-probe
docker-slim[build]: info=http.probe message='using default probe'
a default-probe is used.
No real problem, but no backward compatibility. Everyone who wants no probe has now to add the param --http-probe=false
It's a tricky problem... This change was meant for new users to avoid generating images that don't work. Let me see if there's a way to keep backward compatibility...
as I mentioned no real problem, so update the docs and close this ...
docker-slim[build]: info=container name=dockerslimk_28_20190721210540 id=b6f62008b978772936538409fabf7fc06e1e68178307d4086b5fb9d9d78619f6 target.port.list=[] target.port.info=[] message='YOU CAN USE THESE PORTS TO INTERACT WITH THE CONTAINER'
docker-slim[build]: state=http.probe.error error='no exposed ports' message='expose your service port with --expose or disable HTTP probing with --http-probe=false if your containerized application doesnt expose any network services
docker-slim[build]: state=exited
idea (?): Don't throw an error if target.port.list=[] target.port.info=[] are empty
For some application types/languages (e.g., ruby web services) not having ports to probe means the generated container will be broken... Making it more intelligent will help solve this long term (doing it only for images built from certain types of containers, for example... longer term DS will detect the open sockets inside the container).
It would be pretty cool if it would enable http-probe if there are exposed ports. Of course assuming that a port is http is also not awesome. I think this needs more thought.
@TJM the only gotcha there is the case where no explicit EXPOSE is defined in the Dockerfile... the only sure way to guess the intent is to detect the listening ports inside the target container and it's a feature that's on the todo list... any help with this will be appreciated :)
If no exposed ports, don't probe anything, unless the command line options override. I would probably avoid detecting listening ports. If they dont EXPOSE it, they probably don't want it probed (wow, that sounds bad).