
Quero trabalhar em projetos openshift da wsl. Eu configurei o Minishift e o VirtualBox no Windows e, pelo que sei, criei um alias para tudo de maneira adequada.
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
No entanto, não consigo acessar o registro do Docker local do wsl.
$ 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
Não sou especialista em Docker, mas o que me confundiu é que esse IP era diferente do DOCKER_HOST. Funciona bem no Windows.
C:\Users\${username}>oc whoami -t | docker login -u developer --password-stdin 172.30.1.1:5000
Login Succeeded
Talvez o registro do docker esteja configurado no adaptador somente host no virtualbox e talvez o wsl não consiga se comunicar com ele por esse motivo?
Qualquer visão ou conselho sobre a configuração pretendida é muito bem-vinda.
Responder1
Percebi que na verdade não estava exportando as variáveis que estava definindo no WSL. Derp.
Alterar o one-liner que eu tinha para o seguinte me permite fazer login usando o cliente wsl docker
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