Skip to content

Pull 100 Popular Docker Images #20

Pull 100 Popular Docker Images

Pull 100 Popular Docker Images #20

name: Pull 100 Popular Docker Images
on:
workflow_dispatch:
jobs:
pull-images:
runs-on: [self-hosted, type-cpx31, setup-docker, volume-cache_pull_100_docker_images-200GB]
env:
CACHE_VOLUME: cache_pull_100_docker_images
steps:
- name: ⤵️ Checkout
uses: actions/checkout@v4
with:
ref: ${{ inputs.ref || github.ref }}
- name: 🧾 Print Docker version
run: docker --version
- name: 🔐 Docker login
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
run: echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
- name: ♻️ Cache setup
uses: ./.github/actions/cache-setup
with:
cache-volume: ${{ env.CACHE_VOLUME }}
- name: 📥 Pull 100 popular Docker images
run: |
images=(
# OS & Base Images
ubuntu
debian
alpine
centos:centos7
fedora
busybox
archlinux
opensuse/leap
amazonlinux
oraclelinux:8
# Languages
python
node
golang
openjdk
ruby
php
perl
mcr.microsoft.com/dotnet/runtime
rust
elixir
# Databases
mysql
postgres
mongo
redis
mariadb
cassandra
couchdb
influxdb
neo4j
docker.elastic.co/elasticsearch/elasticsearch:8.11.4
# Web Servers
nginx
httpd
traefik
haproxy
caddy
varnish
tomcat
jetty
openresty/openresty
# DevOps & CI/CD
jenkins/jenkins
gitlab/gitlab-ce
circleci/picard
drone/drone
jetbrains/teamcity-server
atlassian/bamboo-server
buildkite/agent
concourse/concourse
gitea/gitea
# Monitoring & Logging
prom/prometheus
grafana/grafana
zabbix/zabbix-server-mysql
telegraf
influxdb
docker.elastic.co/logstash/logstash:8.11.4
docker.elastic.co/kibana/kibana:8.11.4
fluent/fluentd
softwaremill/elasticmq
# ML & Data Science
tensorflow/tensorflow:latest-gpu
pytorch/pytorch
jupyter/base-notebook
r-base
dvcorg/cml
bitnami/spark
# Build Tools
maven
gradle
node
composer
python
continuumio/miniconda3
gcc
# Utilities
curlimages/curl
busybox
alpine/git
docker
hashicorp/terraform
hashicorp/packer
hashicorp/vault
hashicorp/consul
# Home & Media
plexinc/pms-docker
linuxserver/sonarr
linuxserver/radarr
linuxserver/lidarr
linuxserver/jackett
linuxserver/sabnzbd
linuxserver/tautulli
linuxserver/ombi
ghcr.io/home-assistant/home-assistant
linuxserver/nextcloud
# Databases
memcached
clickhouse
redis
postgres
mongo
mysql
mariadb
influxdb
elasticsearch:9.0.1
zookeeper
cassandra
# Satellite Interferometry
mobigroup/pygmtsar-large
)
for image in "${images[@]}"; do
echo "::group::Pulling $image"
if ! docker image inspect "$image" > /dev/null 2>&1; then
.github/retry.sh 5 2 docker pull "$image" || true
else
echo "Image already present"
fi
echo "::endgroup::"
done
- name: 📦 Show Docker disk usage
if: always()
run: docker system df
- name: ♻️ Cache sync
if: always()
uses: ./.github/actions/cache-sync
with:
cache-volume: ${{ env.CACHE_VOLUME }}