Alguns resultados ou registros seriam bons para responder sua pergunta.
Às vezes, o apt-get update está ficando lento, não tem nada a ver com o próprio docker. Se você tiver pacotes de conexão defeituosos, poderá falhar o download completamente.
Como você disse, cada linha no Dockerfile criará uma camada de imagem, e o cache será salvo localmente, para acelerar a criação da imagem. Existem algumas práticas para minimizar o tamanho da imagem do docker, e colocar o mínimo possível de linhas, combinando-as, portanto, no caso de instalação do pacote, o seguinte padrão é usado:
RUN \
apt-get update &&\
apt-get install -y zip &&\
rm -rf /var/lib/apt/lists/*
Isso levará algum tempo para atualizar o cache, instalar o pacote e limpar o espaço, e ele irá gerar apenas uma camada de imagem, então qualquer outra instalação de pacote você precisará primeiro apt-get update para instalar pacotes.
Uma abordagem que você pode tentar é executar cada etapa em uma nova instrução RUN:
RUN \
apt-get update
RUN \
apt-get install -y zip
RUN \
apt-get install -y curl
Dessa forma, você terá mais camadas, mas terá a camada de cache apt atualizada e instalará pacotes um por um.