«сборка docker» требует ровно 1 аргумента - ошибка сборки docker - PullRequest
0 голосов
/ 09 января 2019

У меня есть следующий Dockerfile:

FROM ubuntu:16.04

RUN apt-get update \
    && apt-get upgrade -y \
    && apt-get install -y \
    build-essential \
    ca-certificates \
    gcc \
    git \
    libpq-dev \
    make \
    python-pip \
    python2.7 \
    python2.7-dev \
    ssh \
    && apt-get autoremove \
    && apt-get clean

ARG SSH_PRIVATE_KEY
RUN mkdir /root/.ssh/
RUN echo "${SSH_PRIVATE_KEY}" > /root/.ssh/id_rsa

RUN touch /root/.ssh/known_hosts
RUN ssh-keyscan http://bitbuckrt.org >> /root/.ssh/known_hosts    

RUN pip install git+ssh://git@bitbucket.org/repo.git

Я создаю образ Docker из этого файла Docker с помощью следующей команды:

docker build -t myimage:v1 --build-arg SSH_PRIVATE_KEY="ssh-rsa jkdfjgklfsgnkljgxdfeheflkfkl/hkskkdhgtgshshsh/... " .

Однако это не создает мой имидж. Я получаю следующую ошибку:

"docker build" requires exactly 1 argument.

В чем может быть проблема? Как правильно передать SSH_PRIVATE_KEY при построении изображения?

1 Ответ

0 голосов
/ 09 января 2019

Присвойте свой закрытый ключ переменной bash и используйте его в команде. Чтение ключа из файла при назначении переменной является самым безопасным. Специальные символы в ключе могут быть закруткой команды, если она имеет, скажем, кавычку. Пример:

PKEY=$(<key.txt)
docker build -t myimage:v1 --build-arg SSH_PRIVATE_KEY=$PKEY .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...