2016-05-14 8 views
1

Docker-Fiddler-Container auf Ubuntu-14.04 Host ausgeführt. Container ruft Fiddler auf und leitet GUI an Host um, aber Proxy schlägt fehl. Docker ver 1.11.1,Firefox Proxy zu Docker Fiddler Verbindung ablehnen

Firefox zeigt entweder "Die Verbindung wurde zurückgesetzt" oder "Der Proxy-Server verweigert Verbindungen", abhängig von den unten gezeigten Einstellungen.

Frage:

  1. Was die richtigen Firefox Proxy-Einstellungen, HTTP und SSL sind?
  2. Welche Änderungen müssen Docker ausführen Cmd-Zeile?
  3. Welche Änderungen sind für die Dockerfile erforderlich?

Hinweis: ich eine HTTP-URL bin schlagen, nicht https

Diese Konfiguration, localhost, unter der Annahme, Port fwd, FF Ausgang: Die Verbindung wurde zurückgesetzt

Firefox proxy: 
manual proxy 
HTTP Proxy 127.0.0.1 Port 8888 
SSL Proxy 127.0.0.1 Port 8888 

Diese Konfiguration , Verwendung von Container ip, FF Ausgabe: Der Proxy-Server verweigert Verbindungen

Firefox proxy: 
manual proxy 
HTTP Proxy 172.17.02 Port 8888 
SSL Proxy 172.17.02 Port 8888 

TL; DR

Docker Run:

docker run -d -p 8888:8888 -v /tmp/.X11-unix:/tmp/.X11-unix -e \ 
DISPLAY=$DISPLAY fiddler -h $HOSTNAME -v \ 
$HOME/.Xauthority:/home/$USER/.Xauthority 

Docker ps:

16a4f7531222 fiddler "mono /app/Fiddler.ex" 3 hours ago Up 3 hours 0.0.0.0:8888->8888/tcp cranky_pare 

Dockerfilejwieringa/docker-fiddler, fügte ich aussetzen 8888 und Benutzerkonfiguration binden zu unterstützen Mount X Server

FROM debian:wheezy 
RUN apt-get update \ 
    && apt-get install -y curl unzip \ 
    && rm -rf /var/lib/apt/lists/* 
RUN apt-key adv --keyserver pgp.mit.edu --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF 
RUN echo "deb http://download.mono-project.com/repo/debian wheezy/snapshots/3.12.0 main" > /etc/apt/sources.list.d/mono-xamarin.list \ 
    && apt-get update \ 
    && apt-get install -y mono-devel ca-certificates-mono fsharp mono-vbnc nuget \ 
    && rm -rf /var/lib/apt/lists/* 
RUN cd /tmp && curl -O http://ericlawrence.com/dl/MonoFiddler-v4484.zip 
RUN unzip /tmp/MonoFiddler-v4484.zip 
## I added this for X11 Display of Fiddler GUI on linux Host 
RUN groupadd -g <gid> <user> 
RUN useradd -d /home/<user> -s /bin/bash -m <user> -u <uid> -g <gid> 
USER <user> 
ENV HOME /home/<user> 
# I added this also 
EXPOSE 8888 
ENTRYPOINT ["mono", "/app/Fiddler.exe"] 

Antwort

0

1) der Wirt ein Remote-Computer betrachtet Andockfenster-fiddler Behälter

Fiddler > Tools > Fiddler Options > Connections > [x] Allow remote computers to connect 

2) Fiedler erfordert ein Reset nach diesem Attribut zu ändern, diese den Behälter schließt. muss hinzufügen, bind-mount Volume Dockerfile Config auf dem Host es $ Berechtigungen USER erste und geben

-v /tmp/docker-fiddler/.mono:/home/$USER/.mono 

3) erstellen /tmp/docker-fiddler/.mono zu halten. Docker sollte für mich tun dies, aber ich bin nicht sicher, wie

4) Geänderte Docker Lauf:

docker run -d -p 8888:8888 \ 
    -v /tmp/.X11-unix:/tmp/.X11-unix \ 
    -h $HOSTNAME \ 
    -v $HOME/.Xauthority:/home/$USER/.Xauthority \ 
    -v /tmp/docker-fiddler/.mono:/home/$USER/.mono \ 
    -e DISPLAY=$DISPLAY fiddler 

5) Für das Debuggen, die erste Zeile oben ändern Debug (D) hinzuzufügen und entfernen Daemon (-d), das

die fehlenden libs zu finden Schlüssel war dabei
docker -D run -p 8888:8888 

6) Es fehlen mehrere libs waren, war die letzte gsettings-Desktop-Schema, das enthält/bringt im gnome-Proxy-Schema.Dies wird durch Fiedler verwendet, bis diese an Ort und Stelle war die „AllowRemote“ config Einstellung wurde nicht

gespeichert
.mono/registry/CurrentUser/software/telerik/fiddler/values.xml:<value name="AllowRemote" 

7) Mehrere Änderungen an Dockerfile, einschließlich der Verwendung von ubuntu, erzeugt ein sehr großes Bild, könnte in der Lage sein backout libglib2.0-ist libcanberra-gtk-Modul:

FROM ubuntu:14.04 

RUN apt-get update \ 
    && apt-get install -y curl unzip libglib2.0-bin libcanberra-gtk-module gsettings-desktop-schemas \ 
    && rm -f /etc/apt/sources.list.d/mono-xamarin* \ 
    && rm -rf /var/lib/apt/lists/* 

RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF 

RUN echo "deb http://download.mono-project.com/repo/debian wheezy main" > /etc/apt/sources.list.d/mono-xamarin.list \ 
    && apt-get update \ 
    && apt-get install -y mono-complete ca-certificates-mono fsharp mono-vbnc nuget \ 
    && rm -rf /var/lib/apt/lists/* 

RUN cd /tmp && curl -O http://ericlawrence.com/dl/MonoFiddler-v4484.zip 

RUN unzip /tmp/MonoFiddler-v4484.zip 

RUN groupadd -g 1000 <USER> 
RUN useradd -d /home/<USER> -s /bin/bash \ 
-m <USER> -u <UID> -g <GID> 
USER <user> 
ENV HOME /home/<USER> 

EXPOSE 8888 

ENTRYPOINT ["mono", "/app/Fiddler.exe"] 

8) Firefox Proxy, - ging nicht auf HTTPS/SSL

FF > edit > preferences > Advanced > settings 

manual proxy 
HTTP Proxy <container-ip> Port 8888 
SSL Proxy <left this blank> 

sehen: Install Mono on Linux

siehe: Docker in der Praxis, Miell/Sayers - CH4 Tech 26 Laufende GUIs, X11