このdockerファイルを使用してdockerイメージをビルドしようとしていますが、bitbucketからいくつかのプライベートストアを複製する必要があります。
FROM ubuntu
RUN chsh -s /bin/bash
RUN apt-get update
RUN apt-get install -y git python-pip
ADD private_key_for_deployment /root/.ssh/id_rsa
RUN chmod 600 /root/.ssh/id_rsa
RUN echo "StrictHostKeyChecking no" >> /root/.ssh/config
RUN echo >> /root/.ssh/config
RUN echo "Host bitbucket.org" >> /root/.ssh/config
RUN cat /root/.ssh/id_rsa
RUN mkdir -p /usr/src/app/
COPY requirements.txt /usr/src/app/
RUN cat /root/.ssh/config
WORKDIR /usr/src/app/
RUN echo "IdentityFile ~/.ssh/id_rsa" >> /root/.ssh/config
RUN eval "$(ssh-agent)" && \
ssh-add && \
ssh-add -l \
pip install -U -r requirements.txt
COPY . /usr/src/app
WORKDIR /usr/src/app/data_service/
CMD ["python" "data_service.py"]
私も試してみましたssh-add -l
このキーはDockerコンテナ内で完全に機能すると言いたいと思います。キーを生成してSSHエージェントを起動してからこのコンテナにIDを追加すると、そこにリポジトリを複製できます。
編集1
Dockerイメージをビルドすると、これが発生します。
ステップ15: eval "$(ssh-agent)" && ssh-add && pip install -U -rrequirements.txt
実行 ---> 2b9a79fa7cf3
エージェント pid 8 で実行
/root/.ssh/id_rsa のパスワードを入力します: 2015 / 07/02 22:26:46 [/bin/sh -c eval "$(ssh-agent)" && ssh-add && pip install -U -rrequirements.txt] コマンドはゼロ以外のコードを返します。 1
ベストアンサー1
秘密鍵をで指定します/root/.ssh/id_rsa
。スクリプトはrootとして実行されていますか?ここでは"IdentityFile ~/.ssh/id_rsa" >> /root/.ssh/config
具体的に/root/.ssh/id_rsa
。無効なキーを渡したかのように動作します。
私はドッカーを使用していませんが、おそらくこれがあなたの問題に関連している可能性があります。