The “Spin up environment” step for my workflow takes around two minutes to complete with most of the time spent downloading the Docker image.
I’m curious what the expected image size and download time for this step might be and if caching might help? The image tags for the base image are currently showing a 0.00B size while my download is showing 5.853GiB and expands to 13.36GiB.
The first steps in my workflow are similar to:
tests:
docker:
- image: cimg/base:current
steps:
- checkout
- setup_remote_docker:
docker_layer_caching: true
The output of the “Spin up environment” step (~2m) is:
machine-agent version 1.0.62513-953dcb61 (image: "ubuntu-2204:2023.10.1", public ip: "xx.xx.xx.xx", provider: "EC2")
Restoring DLC
running command: service [docker stop]
Warning: Stopping docker.service, but it can still be activated by:
docker.socket
success after: 499.321587ms
running command: systemctl [stop docker.socket]
success after: 3.576661ms
Downloading: downloaded 5.853GiB, expanded to 13.36GiB, ratio 0.44, after 2m0.486478802s.
running command: mount [-t ext4 -o loop,discard /tmp/.dlc.img /var/lib/docker]
success after: 1.678114079s
running command: service [docker start]
success after: 1.046429057s
running command: systemctl [start docker.socket]
success after: 2.844492ms
Restore DLC success after 2m3.762383197s.
docker-agent version 1.0.13421-38ad8c7
Downloading docker-agent: success after 214.064156ms.
And the “Spin up container environment” step (~14s) outputs:
task-agent version 1.0.207522-d583bc78
Downloading task-agent: success after 318.007282ms.
System information:
Server Version: 24.0.6
Storage Driver: overlay2
Backing Filesystem: extfs
Cgroup Driver: systemd
Cgroup Version: 2
Kernel Version: 6.2.0-1012-aws
Operating System: Ubuntu 22.04.3 LTS
OSType: linux
Architecture: x86_64
Starting container public.ecr.aws/eks-distro/kubernetes/pause:3.6
image cache not found on this host, downloading public.ecr.aws/eks-distro/kubernetes/pause:3.6
3.6: Pulling from eks-distro/kubernetes/pause
23d07b917726: Pull complete
8389103237f2: Pull complete
Digest: sha256:c38d6dd4c0a53ccbf200f85a1057f273040e4ad4a29171e1cdcc0e4414f1b12c
Status: Downloaded newer image for public.ecr.aws/eks-distro/kubernetes/pause:3.6
Starting container cimg/base:current
Warning: No authentication provided, using CircleCI credentials for pulls from Docker Hub.
image cache not found on this host, downloading cimg/base:current
current: Pulling from cimg/base
aece8493d397: Pull complete
be5155afc6cb: Pull complete
223d3e1f5d8e: Pull complete
3e7300060c1a: Pull complete
9fe9fc38ede2: Pull complete
24bddf68070f: Pull complete
75f60dda1c9f: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:9ab3549f5cf206b2ea252bf4ca2c8f3b62ae4a662ea7290d3ccb2e8774b134cd
Status: Downloaded newer image for cimg/base:current
cimg/base:current:
using image cimg/base@sha256:9ab3549f5cf206b2ea252bf4ca2c8f3b62ae4a662ea7290d3ccb2e8774b134cd
pull stats: download 400.8MiB in 4.069s (98.49MiB/s), extract 400.7MiB in 10.925s (36.68MiB/s)
time to create container: 1.101s
Time to upload agent: 235.071699ms
Time to start containers: 623.848113ms
There’s also a later step that builds a Docker image as part of the job which takes an additional ~30 seconds when not cached, but is usually cached successfully.
Any information on this download speed and size or tips for speeding it up would be so appreciated! There aren’t any problems with this speed as is either, I’m just hoping to shave off seconds as possible. Thanks!