我有以下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我使用以下命令从这个Dockerfile构建Docker镜像:
docker build -t myimage:v1 --build-arg SSH_PRIVATE_KEY="ssh-rsa jkdfjgklfsgnkljgxdfeheflkfkl/hkskkdhgtgshshsh/... " .然而,这并不是在建立我的形象。我得到以下错误:
"docker build" requires exactly 1 argument.可能的问题是什么?如何在构建镜像时正确传递SSH_PRIVATE_KEY?
发布于 2019-01-10 01:25:06
将您的私钥分配给bash变量并在命令中使用它。在赋值给变量时从文件中读取密钥是最安全的。如果命令中有引号,那么键中的特殊字符可能会破坏命令。例如:
PKEY=$(<key.txt)
docker build -t myimage:v1 --build-arg SSH_PRIVATE_KEY=$PKEY .https://stackoverflow.com/questions/54115129
复制相似问题