FIX: ensure the latest image is always pulled for the container we're building
authorMichael Brown <supermathie@gmail.com>
Tue, 3 May 2022 00:41:07 +0000 (20:41 -0400)
committerMichael Brown <michael@mikeandgen.ca>
Tue, 3 May 2022 02:48:19 +0000 (22:48 -0400)
If the user has overridden the `base_image` to something other than default, we
may not get the latest version of that image when bootstrapping.

To remedy, always pull the image to check the manifest after we parse it out.

launcher

index 59d358a9bffcee4a8da1799ecf2e479ce16ec8d3..a6177e939f777cb7105150a35252cad6f99f26a6 100755 (executable)
--- a/launcher
+++ b/launcher
@@ -648,10 +648,6 @@ run_run() {
 }
 
 run_bootstrap() {
-  # Is the image available?
-  # If not, pull it here so the user is aware what's happening.
-  $docker_path history $image >/dev/null 2>&1 || pull_image
-
   set_template_info
 
   base_image=`cat $config_file | $docker_path run $user_args --rm -i -a stdin -a stdout $image ruby -e \
@@ -664,6 +660,10 @@ run_bootstrap() {
     image=$base_image
   fi
 
+  # the base_image may not always be discourse/base,
+  # let's ensure we always build from the latest
+  pull_image
+
   set_volumes
   set_links