Giter VIP home page Giter VIP logo

dockcheck's Introduction

dockcheck

A script checking updates for docker images without pulling - then selectively auto-update some/all containers.


Dependencies:

Running docker (duh) and compose, either standalone or plugin.
regclient/regctl (Licensed under Apache-2.0 License)
User will be prompted to download regctl if not in PATH or PWD


dockcheck.sh

$ ./dockcheck.sh -h
Syntax:     dockcheck.sh [OPTION] [part of name to filter]
Example:    dockcheck.sh -a ng

Options:
-h     Print this Help.
-a|y   Automatic updates, without interaction.
-n     No updates, only checking availability.
-p     Auto-Prune dangling images after update.
-r     Allow updating images for docker run, wont update the container.

Basic example:

$ ./dockcheck.sh
. . .
Containers on latest version:
glances
homer

Containers with updates available:
1) adguardhome
2) syncthing
3) whoogle-search


Choose what containers to update:
Enter number(s) separated by comma, [a] for all - [q] to quit:

Then it proceedes to run pull and up -d on every container with updates.
After the updates are complete, you'll get prompted if you'd like to prune dangling images.

-r flag โš ๏ธ disclaimer and warning:

Wont auto-update the containers, only their images. (compose is recommended)
docker run dont support using new images just by restarting a container.
Containers need to be manually stopped, removed and created again to run on the new image.

๐Ÿชฒ Squashed Bugs:

  • No options for running without updates or auto update.
  • No filter to check only specific containers.
  • Faulty registry checkups stopped the updates completely.
  • No clear checks to skip containers producing errors.
  • Multi-digest images didn't correctly check with registry, giving false positives on updates.
  • Not working with filenames other than docker-compose.yml
  • Lists are not alphabetically sorted (due to stacks and other parameters)
  • Old docker-compose binary-check sometimes returned false error
  • Stacks gets updated as whole, even if only one service is chosen.
  • Path broken occationally (from inspect) - probably due to old docker-compose binary.
  • Script breaks if one of the chosen containers are a docker run container.
  • Using relative paths for volumes eg. ${PWD}/data:data will create the volumes where you stand.
  • Having no curl/wget leads to corrupt regctl without alerting.
  • Using custom .env files does not work.
  • Pull not respecting image:tags, always defaulting to latest

๐Ÿ”จ Known issues

  • No granular choice of what to update (except initial name filter).
  • No detailed error feedback (just skip + list what's skipped) .

dc_brief.sh

Just a brief, slimmed down version of the script to only print what containers got updates, no updates or errors.

License

dockcheck is created and released under the GNU GPL v3.0 license.


Check out a spinoff brother-project:

Palleri/dockcheck-web for a WebUI-front!

Special Thanks:

dockcheck's People

Contributors

mag37 avatar nnmalex avatar maanoobh avatar f0x06 avatar t0rnis avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.