Wie bekomme ich das Andockfenster für die Ausführung auf einem Windows-system hinter der Unternehmens-firewall?
Ich versuche, eine funktionierende Docker-installation nach diesem tutorial:
http://docs.docker.io/en/latest/installation/windows/
So weit, ich habe die VM läuft mit einem manuell heruntergeladenen repository (es Folgen die GitHub-link und Download als ZIP-Datei, weil "git clone" funktionierte nicht hinter mein Firmen-proxy, auch nach dem einrichten der proxy mit "git conf --global http.proxy ..." - es fragten mich immer wieder für die Authentifizierung 407, obwohl ich in meinen Benutzer-Namen und Passwort).
Nun bin ich in dem Zustand in dem ich Sie verwenden soll "docker run busybox echo hello world
" (Abschnitt "Ausführen von Docker").
Wenn ich dies mache, bekomme ich als erstes gesagt, dass Docker nicht installiert ist (wie unten in der Anleitung), und dann, nachdem ich es mit apt-get install docker
bekomme ich "Segmentation Fault" oder kritische Fehler aufgetreten. Dumping-core und wird abgebrochen."
Was kann ich jetzt tun? Ist das weil ich nicht git clone
oder ist etwas falsch mit der Docker-installation? Ich habe irgendwo gelesen, dass apt-get install docker
nicht installieren Sie das Andockfenster ich will, aber einige GNOME-tool. Kann ich vielleicht geben Sie mein apt-Anforderung das richtige Werkzeug?
- Nach dem ausführen
vagrant up
führenvagrant provision
. Lassen Sie mich wissen, wenn es irgendwelche Fehler. Das vagrantfile/virtualbox erfordert internet-Konnektivität sowie. - Ich habe jetzt den anderen Weg gewählt um - nach Einstellung der VM mit Vagrant, begann ich es in seiner eigenen Schale mit VirtualBox und folgte dem Linux/Ubuntu-Tutorial, wie zu installieren lxc-docker, die dann schließlich geklappt, nach einer Reihe von proxy-Konfigurationen. Atm bin ich nur wieder stecken an der Stelle, wo ich verwenden soll "docker run-busybox" (oder jedem anderen repository). Obwohl docker installiert ist, die Verbindung mal aus und ziehen Sie die gewünschten repository, die ein proxy-Problem wieder, denke ich.
- Wenn Sie wollte, Git verwenden, hinter einem authentifizierten proxy, könnten Sie setup ein Squid mit einer
cache_peer
auf Ihren proxy und verwenden Sie es als Ihrehttp.proxy
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Windows Boot2Docker hinter corporate proxy
(Kontext: März 2015, Windows 7, hinter organvertreter)
TLDR; siehe GitHub-Projekt
VonC/b2d
:Klonen und:
..\env.bat
folgenden dieenv.bat.template
,profile
" - Datei,senv.bat
dannb2d.bat
.Du dann in eine richtig angepasste
boot2docker
Umfeld mit:docker search/pull
.apt-get update/install
und geben Sie einedocker build
.Installation und erste Schritte
Wenn Sie Administrator Ihrer workstation können Sie boot2docker installieren Sie auf Ihrem Windows.
Es kommt derzeit mit:
Dann, wenn Sie installiert ist:
c:\path\to\Boot2Docker For Windows\
in Ihrem%PATH%
boot2docker init
boot2docker start
boot2docker ssh
exit
zu beenden Sie die ssh-Sitzung, undboot2docker ssh
zurück zu gehen, in: die Geschichte der Befehle, die Sie gerade eingegeben haben, erhalten.boot2docker stop
Können Sie tatsächlich sehen die VM zu starten oder zu stoppen, wenn Sie öffnen Sie die Virtual Box GUI, und geben Sie in einem DOS-cmd-Sitzung
boot2docker start
oderstop
.Hosts & Proxy: Windows => Boot2Docker => Andockfenster Container
Der wichtigste Punkt zu verstehen ist, dass Sie verwalten müssen, 2 TECHNIKER:
(
%HOME%\.boot2docker\boot2docker.iso
=>.
%USERPROFILE%\VirtualBox VMs\boot2docker-vm\boot2docker-vm.vmdk
),In der Bezeichnung der proxy, das bedeutet:
HTTP_PROXY
,HTTPS_PROXY
undNO_PROXY
environment-variable (Sie werden wahrscheinlich haben Sie bereits, und Sie können verwendet werden, zum Beispiel durch die Virtual Box zu erkennen, die neuen Versionen von Virtual Box)http_proxy
,https_proxy
undno_proxy
(beachten Sie die Kleinbuchstaben in der Linux-Umgebung) für:docker search nginx
).Wenn nicht gesetzt, werden die nächsten
docker pull
erhalten Sie einedial tcp: lookup index.docker.io: no such host
.Dies ist in einer neuen Datei
/var/lib/boot2docker/profile
: es istprofile
, nicht.profile
./home/docker/.ashrc
), wenn Sie ausführen müssen, andere Befehle (andere als Andockfenster), die erfordern würde, die internet-Zugang)RUN apt-get update
erhalten Sie einen, zum BeispielCould not resolve 'http.debian.net'
).Das bedeutet, dass Sie müssen hinzufügen, die Zeilen
ENV http_proxy http://...
zuerst, bevor alleRUN
Befehl erfordert internet-Zugang.Einen guten
no_proxy
zu setzen ist:(mit '
.company
' den domain-Namen Ihres Unternehmens, für den internen Seiten)Daten-Persistenz? Verwenden Sie die Ordner-sharing -
Den anderen Punkt, zu verstehen ist, dass boot2docker verwendet Tiny Core, eine... kleine Linux-distribution (das .iso-Datei ist nur 26 MB).
Und Winzigen Kern bietet keine Persistenz (abgesehen von ein paar technischen Ordner): wenn Sie ändern Ihre
~/.ashrc
mit all Ihren bevorzugten Einstellungen und alias... die nächsteboot2docker stop /boot2docker start
wird wieder ein unberührten Linux-Umgebung, mit Ihrer änderung gegangen.Müssen Sie sicherstellen, dass die VirtualBox hat die Oracle_VM_VirtualBox_Extension_Pack heruntergeladen und Hinzugefügt werden, in der Virtual Box /Datei /Einstellungen /Erweiterung /hinzufügen von
Oracle_VM_VirtualBox_Extension_Pack-4.x.yy-zzzzz.vbox-extpack
- Datei).Als dokumentiert in boot2docker, haben Sie Zugriff (von Ihrem Winzigen Kern ssh-Sitzung) zu
/c/Users/<yourLogin>
(dh die%USERPROFILE%
freigegeben ist Virtual Box)Port-Umleitung? Für container und für VirtualBox VM
Den letzten Punkt zu verstehen ist, dass kein port ist standardmäßig exportiert:
-p 80:80
zum Beispiel, um hinterher den port 80 des Containers auf den 80 port des Linux-Sitzung)The connection was reset
".Für den ersten Punkt,
docker run -it --rm --name my-apache-app -v "$PWD":/usr/local/apache2/htdocs/httpd:2.4
funktionieren nicht ohne eine-p 80:80
im es.Für den zweiten Punkt definieren Sie einen alias
doskey vbm="c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" $*
, und dann:- wenn die Virtuelle Box "
boot2docker-vm
' ist noch nicht gestartet, verwendetvbm modifyvm
- wenn die Virtuelle Box "
boot2docker-vm
' ist bereits begann, verwendetvbm controlvm
In der Regel, wenn ich merke, während ein boot2docker Sitzung, dass der port 80 ist nicht erreichbar von Windows:
Dann, und nur dann, auf die ich zugreifen kann http://127.0.0.1
Persistente Einstellungen: kopiert docker-service und Andockfenster Konto
Um
boot2docker
einfach:%USERPROFILE%\prog\b2d
.profile
in es (direkt in Windows, in%USERPROFILE%\prog\b2d
), mit Ihre Einstellungen und alias.Beispiel (modifizierte ich die original
/home/docker/.ashrc
):(192.168.59.103 ist in der Regel die ip zurückgegeben
boot2docker ip
)Dass alles, was gemeinsam eine boot2docker Sitzung:
b2d.bat
b2d.bat
script in Ihrem%PATH%
wird:boot2docker
docker
- Dienst (ist gestartet) und für die/home/docker
Benutzerkonto.Ist:
In Auftrag zu geben, ein neues boot2docker Sitzung, mit den Einstellungen definiert genau, wie Sie wollen, geben Sie einfach:
Und Sie sind gut zu gehen:
Endergebnis:
docker search xxx
wird funktionieren (wird es den Zugang über internet)docker build
funktioniert (es wird Zugriff auf internet, wenn dieENV http_proxy
Richtlinien gibt es)%USERPROFILE%\prog\b2d
geändert werden kann, direkt aus~/b2d
.Oder können Sie tatsächlich schreiben und ändern die gleichen Dateien (wie einige Dockerfile) nach rechts von Ihrer Windows-Sitzung mit Ihrem Lieblings-editor (statt
vi
)- Und all dies hinter einer Unternehmens-firewall.
Bonus: nur http
Tuan fügt in den Kommentaren:
boot2docker ssh
,töten Sie das Andockfenster Prozess-und
export http_proxy=http://proxy.com
, danndocker -d --insercure-registry docker.io
env.bat
Parameter. Welche version von docker verwenden Sie?https://index.docker.io
Inhalt aber nicht Andockfenster.boot2docker ssh
töten docker Prozess, und legen Sie die proxy -export http_proxy=http://proxy.com
, dann starten Sie das Andockfenster mitdocker -d --insercure-registry docker.io
dmssh.bat
: github.com/VonC/b2d/blob/.... Alles, was kopiert/geändert in /var/lib/boot2docker ist beibehalten durch die TinyCore OS. Zum Beispiel, die Einstellung der IP erfolgt mitdmvbf.bat
: github.com/VonC/b2d/blob/.... Das Letzte Skript nur einmal ausgeführt wird. Das erste Skript wird jedes mal ausgeführt, wenn man will öffnen Sie eine neue ssh-Sitzung für die docker-Maschine./var/lib/boot2docker
. Zu bestehen eine änderung, die Sie erstellen/var/lib/boot2docker/bootsync.sh
die eine Datei ausgeführt, die von TinyCore (wenn es existiert). In dieser Datei gibt, können Sie ein Skript für die änderung, die Sie wollen, um zu sehen, bei jedem neuen start des docker-Maschine. Erstellenbootsync.sh
ist, was ich in Zeile 19: github.com/VonC/b2d/blob/...bootsync.sh
um ihn auszuführen, wird bei jedem start des docker-Maschine.--engine-env
option: siehedmcv.bat
: github.com/VonC/b2d/blob/.... Die daraus resultierende docker-Maschine wird über proxy in seiner/var/lib/boot2docker/profile
- Datei. Dauerhaft.