Are the Clear Linux Docker images still maintained?

Hi there,

I am using the Golang (clearlinx/golang) and MariaDb (clearlinux/mariadb) Docker images but I see that they are last updated 7 months ago. Will these (and the other images) be updated soon?

I would really like to have the latest security and performance updates…

Thanks in advance.

Hello,

First thank you for saying something since I didn’t notice the failed update attempts. I’m sorry to say we are going to have to pull these for awhile as migrate to another hosting provider as our dockerhub account isn’t able to use their API for automated image updates.

The container image definitions are fairly quick to build yourself in the meantime as a work around. The repo has all the recipes.

2 Likes

Hi @william.douglas,

Thanks for following up! Good to hear you’re working on it. In the meanwhile I will use the linked repo.

The recipes aren’t very usable since they’re multistage and only work off of the clearlinux:latest tag. Could you restore / publish older release tags to Dockerhub for “clearlinux” base so folks can run recipes to rebuild their old images?

I agree it is more work to not use older versions though the specific versions of the base image aren’t something we could readily duplicate as they aren’t tracked in the dockerfiles or elsewhere when we have the publish job run.

If you want to build a specific version we do have the base image archives located here and with a little work you can build the containers based on those.

Thanks, I’ve been able to rebuild some old images using that linked repo. It was very hard to find though, any chance you can update the README for GitHub - clearlinux/dockerfiles: Clear Linux-based Docker containers to indicate the key missing image is at GitHub - clearlinux/docker-brew-clearlinux: Dockerhub image snapshots for Clear Linux ?

No chance of restoring the old Dockerhub repositories? This almost feels like the Node leftpad situation in terms of effects on downstream users.

In case anyone needs an explicit recipe, here’s how I rebuilt my dependency on clearlinux/python:3.7.4

  1. The release archives for that particular version is here. Manually searched through package-sources until finding the desired Python:
    python3 3.7.4 185

  2. Clone the base repo clearlinux/docker-brew-clearlinux. It’s huge so shallow clone only the desired release:
    git clone --depth 1 --branch base-31110 https://github.com/clearlinux/docker-brew-clearlinux.git

  3. Build that image and tag it:

cd docker-brew-clearlinux
docker build -t clearlinux:31110 .
  1. Now clone the repo clearlinux/dockerfiles for the multi stage images.
  2. Edit os-core/Dockerfile to use the tag from earlier:
-FROM clearlinux:latest AS builder
+FROM clearlinux:31110 AS builder
  1. Build it:
cd dockerfiles/os-core
docker build -t clearlinux/os-core:31110 --build-arg swupd_args="-m 31110" .
  1. Edit python/Dockerfile to use the tag from earlier:
-FROM clearlinux:latest AS builder
+FROM clearlinux:31110 AS builder
-COPY --from=clearlinux/os-core:latest /usr/lib/os-release /
+COPY --from=clearlinux/os-core:31110 /usr/lib/os-release /
-COPY --from=clearlinux/os-core:latest / /os_core_install/
+COPY --from=clearlinux/os-core:31110 / /os_core_install/
  1. Build it
cd ../python
docker build -t clearlinux/python:3.7.4 --build-arg swupd_args="-m 31110" .
  1. Verify old python!
$ docker run clearlinux/python:3.7.4python --version
Python 3.7.4

Note the tag in the last step would be based on your own Dockerfile’s dep.

2 Likes

README is updated. Thanks for the suggestion.

dockerhub doesn’t appear to support restoring after the repo has been removed.

I would imagine such an operation would require submitting a support ticket since it’d require possibly pulling large amounts of data from cold storage and re-indexing. Maybe if you ask Dockerhub to consider traffic patterns for those repos they’d be sympathetic to doing the restore.