Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fetching git behind proxy in docker container

I've been stuck for several hours trying to fetch from git behind proxy running inside a docker container.

Removing intermediate container 84c4f6722d09
Step 16 : RUN bundle install --without development test
---> Running in bbc7bfff1bae
Fetching gem metadata from https://rubygems.org/.........
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Fetching git://github.com/seuros/state_machine.git

I can confirm my proxy works for apt-get and earlier git clone command in the Dockerfile.

Any idea what am doing wrong please ?

Here is my Dockerfile

FROM ruby:2.2.4

LABEL Description="slack-standup-bot (`master`) from ruby:2.2.4"

ENV DEBIAN_FRONTEND noninteractive
ENV TERM xterm


ENV http_proxy http://192.168.0.43:8888
ENV https_proxy http://192.168.0.43:8888

RUN export HTTP_PROXY=http://192.168.0.43:8888
RUN export HTTPS_PROXY=http://192.168.0.43:8888


# See https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/
RUN apt-get update && apt-get install -y \
  build-essential \
  libpq-dev \
  git-core \
  postgresql-client \
  nodejs \
  && rm -rf /var/lib/apt/lists/*


RUN git config --global http.proxy http://192.168.0.43:8888

RUN mkdir -p /srv
WORKDIR /srv
RUN git clone https://github.com/sofetch/slack-standup-bot.git
WORKDIR /srv/slack-standup-bot

ENV RAILS_ENV production
RUN bundle install --without development test

COPY wait-pg-and-start.sh /srv/slack-standup-bot/wait-pg-and-start.sh
COPY start-rails.sh /srv/slack-standup-bot/start-rails.sh
RUN chmod +x /srv/slack-standup-bot/wait-pg-and-start.sh /srv/slack-standup-bot/start-rails.sh
like image 980
Adetiloye Philip Kehinde Avatar asked Oct 15 '25 21:10

Adetiloye Philip Kehinde


2 Answers

Fetching git://github.com/seuros/state_machine.git: this is not https protocol.
It is the Git one (on port 9418 by default)

Add to your Dockerfile (before git clone):

RUN git config --global url."https://github.com/".insteadOf [email protected]:

That way, you know git will use an https url, and will benefit from the https proxy you have set up.

like image 58
VonC Avatar answered Oct 17 '25 11:10

VonC


Thanks to @VonC for pointing me in the right direction

Here is the solution to fix the problem for Github

git config --global url."https://github.com/".insteadOf [email protected]:
git config --global url."https://".insteadOf git://

For bit bucket:

git config --global url."https://user:[email protected]".insteadOf   ssh://[email protected]
like image 26
Adetiloye Philip Kehinde Avatar answered Oct 17 '25 11:10

Adetiloye Philip Kehinde



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!