Acceder a docker.com desde países bloqueados

Puede que, si intentas entrar a docker.com, a hacer uso de la documentación o bajarte imágenes, te detenga una linda imágen como esta:

Si eres de los que está en ese caso, ponte en sintonía con este post. Lo que vamos a hacer es colarnos por un túnel que se encuentra en un hosting, «outside», jejeje.

Así que… Requisitos mínimos indispensables:
0- Internet
1- Hosting
2- PC con Linux
3- Docker, instalado en dicha PC
4- Deseos de aprender

Teniendo todo lo anterior, lo primero es:

apt install ssh

Después de instalado ssh

ssh -4p 443 -D 127.0.0.1:1080 usuario@hosting_outside.com

Debemos poner la clave del usuario@hosting_outside.com para continuar.

Nota: Esto se puede mejorar haciendo un script que inicie con el sistema, pero eso, ahora mismo, no es necesario para este proceso.

Ahora necesitaremos el «polipo» para redirigir todo el tráfico y las peticiones que haremos a docker.com:

apt install polipo

Dejamos la configuración de polipo de forma tal:

cat /etc/polipo/config
# This file only needs to list configuration variables that deviate
# from the default values. See /usr/share/doc/polipo/examples/config.sample
# and "polipo -v" for variables you can tweak and further information.

logSyslog = true
logFile = /var/log/polipo/polipo.log

proxyAddress = "0.0.0.0" # IPv4 only
allowedClients = 127.0.0.1

cacheIsShared = false

# Uncomment this if you want to use a parent proxy:

# parentProxy = "squid.example.org:3128"

# Uncomment this if you want to use a parent SOCKS proxy:

socksParentProxy = "127.0.0.1:1080"
socksProxyType = socks5

Configurar navegador para proxy socks5 por el host 127.0.0.1 puerto 1080.

Ahora necesitamos hacerle unos tweaks a docker:

mkdir -p /etc/systemd/system/docker.service.d

Y dentro:

cat /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:8123/" "NO_PROXY=localhost,127.0.0.1,github.com"

Hecho esto, sólo nos queda reiniciar docker y systemd.

/etc/init.d/docker restart
systemctl daemon-reload

Una vez terminado ya podemos empezar a pedir imágenes por consola o navegar directamente en la documentación de hub.docker.com.

Ahora bien, imagina que quieres bajar imágenes de otros hubs… Cómo hago eso?

Fácil, sólo debes configurar tu fichero de «registry», es decir:

cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry-1.docker.io"]
}

Donde, en la variable registry-mirrors podemos usar:

  • http://havanacontainers.com
  • https://registry.docker-cn.com
  • http://repo.docker.ir:5000

Quedando, por ejemplo:

cat /etc/docker/daemon.json
{
"insecure-registries" : [ "havanacontainers.com"],
"registry-mirrors": ["http://havanacontainers.com"]
}

Ahora, si eres de los que no les gusta embarrarse con el código, puedes ejecutar docker de la siguiente forma:

dockerd --registry-mirror=http://havanacontainers.com

Y listo!!!

Este procedimiento está probado en Deepin, Debian y Ubuntu.

Por lo que sólo me queda decirles que, prueben… Ojalá les sirva.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 5

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

3 comentarios

  1. Firefox 67.0 Firefox 67.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0

    Saludos, estoy en la misma situación pero con una infraestructura un tanto diferente. Tengo windows10 uso Psiphon que usa socket y VPN. pero no logro que me salga el docker. Todo el tiempo me da «Error response from daemon: Get https://registry-1.docker.io/v2/: proxyconnect tcp: dial tcp IP:PORT: connect: connection refused»

    IP: La ip donde tengo corriendo el Psiphon(puede ser localhost u otro proxy en cascada que salga por el puerto del psiphon)
    PORT: El puerto por el que trabaja el socket.

    Gracias de antemano

    • Google Chrome 84.0.4147.105 Google Chrome 84.0.4147.105 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36

      Utilizo Windows 10 con VPN solo con eso es suficiente, y los privates los tengo con nexus. It works like charm!

      • Firefox 88.0 Firefox 88.0 Windows 10 x64 Edition Windows 10 x64 Edition
        Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0

        Hola !!
        Por favor necesito de ser posible me expliques como tienes configurado Nexus para almacenar docker.
        Gracias

Responder a Isabelys Cancelar la respuesta

Tu dirección de correo electrónico no será publicada.


*