Я новичок в Docker и пытаюсь создать свое веб-приложение Angular и запустить его в контейнере.
У меня есть очень простой Dockerfile в корне проекта:
# Create the image based on the official Node 10.13.0 image from Dockerhub
FROM node:10.13.0 as node
# Copy dependency definitions
COPY package.json .
# Install dependencies using npm
RUN npm install
# TODO - copy rest of app and run angular-cli build commands to serve up the app
И после запуска команды сборки против него я получаю следующую ошибку:
Изучив эту ошибку, я понял, что я еще не предоставил никаких данных о ключах хоста с моего хост-компьютера, поэтому их можно использовать для доступа к частному репо.
Я нашел здесь несколько старых ответов о подходах к предоставлению данных ключа моего хоста, таких как Вот этот, но я не продвинулся дальше, по-прежнему получая ту же ошибку.
Я смог подтвердить, что правильно ссылаюсь на свой ключ хоста, повторив их в моем файле докеров и просмотрев подробности в моем терминале.
Во всяком случае, я не уверен, какой правильный или официальный способ сделать это.
Я использую Docker 2.0.0.0-maxc78 и на macOS High sierra
Может ли кто-нибудь указать мне в правильном направлении, какой правильный подход здесь, пожалуйста?
Спасибо!





Такой сценарий выиграет от недавнего docker build secret.
docker build --secret id=mysite.key,src=path/to/mysite.key .
Это используется в вашем Dockerfile как:
# syntax=docker/dockerfile:1.0.0-experimental
FROM alpine
RUN --mount=type=secret,id=mysite.key command-to-run
Узнайте больше с помощью «Секреты сборки и перенаправление SSH в Docker 18.09» (ваш докер 2.0.0 должен его поддерживать)
В вашем случае ваш Dockerfile должен включать:
RUN --mount=type=ssh git clone [email protected]:myorg/myproject.git myproject
On the docker client side, you need to define that SSH forwarding is allowed for this build by using the
--sshflag.docker build --ssh default .The flag accepts a key-value pair defining the location for the local SSH agent socket or the private keys.