Я пытаюсь вытащить репозиторий, над которым я работаю во время сборки докера, поэтому я следовал этому руководству, поэтому добавил в свой Dockerfile
# this is our first build stage, it will not persist in the final image
FROM ubuntu as intermediate
# install git
RUN apt-get update \
apt-get upgrade \
apt-get install git
# add credentials on build
RUN mkdir ~/.ssh && ln -s /run/secrets/host_ssh_key ~/.ssh/id_rsa
# make sure your domain is accepted
RUN touch /root/.ssh/known_hosts
RUN ssh-keyscan github.org >> /root/.ssh/known_hosts
RUN git clone [email protected]:my-repo/myproject.git
FROM ubuntu
# copy the repository form the previous image
COPY --from=intermediate /your-repo /srv/your-repo
В своем docker-compose.yml
я добавил
secrets:
host_ssh_key:
file: ~/.ssh/id_rsa
И я добавляю
secrets:
- host_ssh_key
В одном из сервисов.
Так как это только для моего локального использования (я не планирую развертывать или использовать это для производства, я просто хочу проверить это), можно использовать его таким образом - если это будет работать, потому что в настоящее время сборка завершается неудачно этап установки git с ошибкой
E: команда обновления не принимает аргументов
ОШИБКА: не удалось создать службу 'web': команда '/bin/sh -c apt-get update apt-get upgrade apt-get install git' вернула ненулевой код: 100
Что мне не хватает?