I think I want to have Docker RUN something which I know will fail, but then use a repair to fix it up, i.e.
RUN dpkg -i wkhtmltox_0.12.6-1.focal_arm64.deb
RUN apt-get update
RUN apt fix-broken install
It seems that apt
recognises that wkhtmltox
failed to install due to missing packages and is then able to install them all. ...I think.
Anyway, even trying this means allowing the Docker build to continue upon a bad exit code.
Can I do that?
CodePudding user response:
Here is the solution:
RUN dpkg -i wkhtmltox_0.12.6-1.focal_arm64.deb || true
RUN apt-get update || true
RUN apt fix-broken install || true
CodePudding user response:
You may really want a few improvements in addition to just getting this working!
- verify
dpkg
successfully brought in the package - use
apt-get
instead ofapt
to avoid the stable interface warning - run all your
apt
commands in the same block withclean
at the end to reduce container size
# NOTE dpkg -i exits nonzero due to missing dependencies
RUN dpkg -i wkhtmltox_0.12.6-1.focal_arm64.deb ; \
dpkg -l | grep wkhtmltox
RUN apt-get update && \
apt-get -f install && \
apt-get clean