Docker не соединяет различные части вашей команды запуска как логический AND
. Это больше похоже на OR
Сделайте это:
RUN eval `ssh-agent -s`
RUN ssh-add /root/.ssh/id_rsa
TL; DR:
Краткий пример почему:
Это работает до конца:
FROM alpine
RUN exit 0
RUN echo Hello
Это останавливается на первом RUN
:
FROM alpine
RUN exit 1
RUN echo Hello
Этот прогон до конца (как ваш пример):
FROM alpine
RUN exit 0 && exit 1
RUN echo Hello