Я пытаюсь вытащить репозиторий, над которым я работаю во время сборки докера, поэтому я следовал этому уроку , поэтому я добавил в свой 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 git@github.com: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
Что мне не хватает?