Marian Kostko
Marian Kostko

Reputation: 135

How to build docker images with app code from private git repositories?

I want to build Docker image that runs a PHP app. The source code is stored in a private GitHub repository.

Should I either:

  1. Copy some (my own or dedicated or my CI/CD's tool) SSH key inside the container (in the Dockerfile) and later remove it to authorize and clone the repository from GitHub, like here: Clone private git repo with dockerfile

or

  1. Use my own (or my CI/CD's tools) environment to clone the repository to the ./app directory and only COPY ./app /app it inside the Dockerfile.

If this changes anything, all my GitHub repositories are private, and I store my images in a private Docker Hub repositories.

Upvotes: 1

Views: 922

Answers (1)

Kon
Kon

Reputation: 4099

It's generally not a good idea to load SSH keys into docker and pull source from git. You should use option 2. Use CI/CD pipeline to pull source code from repo and then copy it into your docker image.

We do this for all our production pipelines. We create deploy keys on github and then use Circle CI to pull source and build docker images.

Upvotes: 2

Related Questions