DIND Build too slow
How I can improove speed of my build I have runner on dedicated machine with 8 GiG os RAM an 8 CPUs
ivan.skiridomov@worker-01:~$ sudo cat /etc/gitlab-runner/config.toml
concurrent = 1
check_interval = 0
[[runners]]
name = "worker-01.gitlab.dev.nl.local"
url = "https://git.mycompany.io/ci"
token = "720f055bd046d2d1e729b9070cbf5a"
executor = "docker"
[runners.docker]
tls_verify = false
image = "python:2"
privileged = true
disable_cache = false
volumes = ["/cache"]
[runners.cache]
this is my .gitlab-ci.yml
make_image:
stage: make_image
image: docker
services:
- docker:dind
script:
- docker login -u $DOCKER_REGISTRY_USERNAME -p $DOCKER_REGISTRY_PASSWORD my_registry
- docker build -t $CONTAINER_TEST_IMAGE .
- docker push $CONTAINER_TEST_IMAGE
Build and push to registry takes 20 minutes. Instead of 3 seconds locally cached build and 1 minute fresh --nocache build.
My Dockerfile is
FROM python:2
ENV APP_HOME=/app
ENV APP_PROJ=$APP_HOME/backend
RUN useradd -ms /bin/bash app
RUN mkdir /app
ADD . $APP_PROJ
WORKDIR $APP_HOME
RUN mkdir static logs logs/celery
COPY docker-entrypoint.sh /
RUN apt-get update
RUN cat $APP_PROJ/apt-reqs.txt | xargs apt-get install -y
RUN chown -R app:app $APP_HOME
RUN chmod +x /docker-entrypoint.sh
USER app
EXPOSE 8000
WORKDIR $APP_PROJ
ENTRYPOINT ["/docker-entrypoint.sh"]