Kommunikation mit Windows VirtualBox Minishift über WSL

Kommunikation mit Windows VirtualBox Minishift über WSL

Ich möchte an OpenShift-Projekten von WSL aus arbeiten. Ich habe Minishift und VirtualBox unter Windows eingerichtet und, soweit ich das beurteilen kann, alles entsprechend mit Alias ​​versehen.

alias minishift='/mnt/c/Users/<username>/minishift-#####/minishift.exe'
#Sets oc binary alias
alias oc="$(wslpath -a $(minishift oc-env | grep -oP "(?<=PATH=)[^;]+"))/oc.exe"
#Sets docker environment variables
for i in $(minishift docker-env | awk '/SET/{print $2}');do if $( echo ${i} | grep -q 'DOCKER_CERT_PATH' );then eval DOCKER_CERT_PATH=$(wslpath -a $(echo ${i} | grep -oP "C:.*$"));else eval ${i};fi;done

Ich kann jedoch das lokale Docker-Register nicht von WSL aus erreichen.

$ oc whoami -t | docker login -u developer --password-stdin $(minishift openshift registry)
INFO[0015] Error logging in to v2 endpoint, trying next endpoint: Get https://172.30.1.1:5000/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
INFO[0036] Error logging in to v1 endpoint, trying next endpoint: Get https://172.30.1.1:5000/v1/users/: dial tcp 172.30.1.1:5000: connect: connection refused
Get https://172.30.1.1:5000/v1/users/: dial tcp 172.30.1.1:5000: connect: connection refused

Ich bin kein Docker-Experte, aber was mich verwirrte, war, dass diese IP sich vom DOCKER_HOST unterschied. Unter Windows funktioniert es einwandfrei.

C:\Users\${username}>oc whoami -t | docker login -u developer --password-stdin 172.30.1.1:5000
Login Succeeded

Vielleicht ist das Docker-Register auf dem Host Only Adapter auf der Virtualbox eingerichtet und WSL kann aus diesem Grund nicht damit kommunizieren?

Ich bin für alle Erkenntnisse und Ratschläge zu meinem geplanten Setup sehr dankbar.

Antwort1

Mir ist aufgefallen, dass ich die Variablen, die ich in WSL festgelegt habe, nicht wirklich exportiert habe. Derp.

Wenn ich den Einzeiler wie folgt ändere, kann ich mich mit dem WSL-Docker-Client anmelden

for i in $(minishift docker-env | awk '/SET/{print $2}');do if $( echo ${i} | grep -q 'DOCKER_CERT_PATH' );then eval export DOCKER_CERT_PATH=$(wslpath -a $(echo ${i} | grep -oP "C:.*$"));else eval export ${i};fi;done



$ oc whoami -t | docker login -u developer --password-stdin $(minishift openshift registry)
Login Succeeded

verwandte Informationen