首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"docker build“需要恰好1个参数- docker build错误

"docker build“需要恰好1个参数- docker build错误
EN

Stack Overflow用户
提问于 2019-01-10 01:06:06
回答 1查看 2.5K关注 0票数 1

我有以下Dockerfile:

代码语言:javascript
复制
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镜像:

代码语言:javascript
复制
docker build -t myimage:v1 --build-arg SSH_PRIVATE_KEY="ssh-rsa jkdfjgklfsgnkljgxdfeheflkfkl/hkskkdhgtgshshsh/... " .

然而,这并不是在建立我的形象。我得到以下错误:

代码语言:javascript
复制
"docker build" requires exactly 1 argument.

可能的问题是什么?如何在构建镜像时正确传递SSH_PRIVATE_KEY

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-10 01:25:06

将您的私钥分配给bash变量并在命令中使用它。在赋值给变量时从文件中读取密钥是最安全的。如果命令中有引号,那么键中的特殊字符可能会破坏命令。例如:

代码语言:javascript
复制
PKEY=$(<key.txt)
docker build -t myimage:v1 --build-arg SSH_PRIVATE_KEY=$PKEY .
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54115129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档