DEV Community

yurfuwa
yurfuwa

Posted on

Dockerfileで Github Enterprise or PrivateRepository から pip install する

Enterpriseなgithubをつかっていると、pipで自社のModuleをインストールしたいことはよくある。
privateなDockerImageをbuildするときに、privateなRepositoryからpipする的。

  • python:3.6とかのdockerの場合、ssh-agentが立ち上がってないので立ち上げて鍵登録まで一気に持っていく。
  • known_hostsに書き込まないと、知らんサイトとしてinteractiveにお伺いがきて蹴られる。
RUN eval `ssh-agent` && ssh-add -k any_your_key && mkdir -p ~/.ssh && ssh-keyscan -t rsa github.enterpise.domain > ~/.ssh/known_hosts \
&& pip install --no-cache-dir -r requirements.txt
Enter fullscreen mode Exit fullscreen mode

RUN後は鍵登録が飛ぶので、Dockerimage内に鍵を含めたくない場合は、pipした後に消すと良い気もする。

Discussion (0)