简体   繁体   中英

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.

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM