I'm trying to pull the repository I'm working on while doing a docker build, so I followed this tutorial so I added in my Dockerfile
# this is our first build stage, it will not persist in the final image FROM ubuntu as intermediate # install git RUN apt-get update \ apt-get upgrade \ apt-get install git # add credentials on build RUN mkdir ~/.ssh && ln -s /run/secrets/host_ssh_key ~/.ssh/id_rsa # make sure your domain is accepted RUN touch /root/.ssh/known_hosts RUN ssh-keyscan github.org >> /root/.ssh/known_hosts RUN git clone [email protected]:my-repo/myproject.git FROM ubuntu # copy the repository form the previous image COPY --from=intermediate /your-repo /srv/your-repo
In my docker-compose.yml
I added
secrets: host_ssh_key: file: ~/.ssh/id_rsa
And I'm adding
secrets: - host_ssh_key
In one of the service.
Since this is only for my local use (I don't plan on deploying or using this for the production, I just want to test it out) it's fine to use it this way - if it'll work because currently the build fails at the git install stage with error
E: The update command takes no arguments
ERROR: Service 'web' failed to build: The command '/bin/sh -c apt-get update apt-get upgrade apt-get install git' returned a non-zero code: 100
What am I missing?
Even if you are running your project on Docker, you can still access your git account inside Docker Containers. All you need to do is just install Git inside your Docker Container.
The problem with the alpine image is that it does not contain GIT (as you can see from the above quote), which is a requirement for NPM to work properly.
You are overanalyzing this. It's just a simple typo. Should be:
RUN apt-get update && \ apt-get upgrade -y && \ apt-get install -y git
Those are 3 separate commands.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With