conf macos proxy docker boot2docker

macos - conf - Docker/Boot2Docker: establezca los proxies HTTP/HTTPS para Docker en OS X



set http proxy docker (6)

A partir de la versión reciente (agosto de 2015) 1.8, la forma recomendada por Docker para crear hosts docker, incluidas las VM de boot2docker, es a través de su utilidad docker-machine .

Y también desde la versión 1.8, la máquina docker ahora admite la configuración de los proxies en el momento de creación de VM a través de una invocación como la siguiente:

docker-machine create -d virtualbox / --engine-env HTTP_PROXY=http://192.37.246.181:2010 / --engine-env HTTPS_PROXY=http://192.37.246.181:2010 / --engine-env NO_PROXY=novartis.net / default

Esto da como resultado una máquina virtual que tiene las variables de entorno especificadas ya agregadas al archivo de inicialización / var / lib / boot2docker / profile, ya no es necesario agregarlas manualmente.

En resumen : ¿cómo puedo establecer los proxies HTTP / HTTPS para Docker en Mac OS X?

En detalle :

Ejecuto Docker (1.12) en Mac OS X detrás de un proxy. Seguí las instrucciones de instalación e instalé boot2docker. Esto funciona bien si lo saco de mi registro de Docker interno de la red.

Sin embargo, recibo el siguiente error al extraer de docker.io:

machine:~ me$ docker run ubuntu echo hello world Unable to find image ''ubuntu'' locally Pulling repository ubuntu 2014/06/30 13:23:26 Get https://index.docker.io/v1/repositories/ubuntu/images: dial tcp: lookup index.docker.io: no such host

Nota 1 : DOCKER_HOST , http_proxy y https_proxy están disponibles en el entorno (el entorno de ejecución muestra los tres).

Nota 2 : Leo en otras publicaciones que este error ocurre cuando el daemon no se ejecuta correctamente. Sin embargo, la docker version no muestra ningún problema. Además, puedo extraer y ejecutar imágenes extraídas de mi registro de Docker interno de la red.

Nota 3 : Pude configurar Docker en Red Hat Linux (RHEL). Tuve que agregar la información del proxy a /etc/sysconfig/docker . Leí que hay un archivo similar en Ubuntu ( /etc/init/docker.conf ). Sin embargo, no pude encontrar ese archivo para Docker (¿o boot2docker?) En Mac OS X.


El archivo de configuración en boot2docker debe ser /var/lib/boot2docker/profile , edite este archivo a un http (s) proxy personalizado.


Los archivos de configuración que necesita modificar no estarán en su sistema de archivos OS X. Se adjuntarán a la máquina virtual Tiny Core Linux que actúa como su servidor local Docker.

Para configurar el proxy para eso, primero inicie Boot2docker desde Aplicaciones. Una vez que se inicia, obtenga una ventana de terminal y ssh en la VM:

bash-3.2$ boot2docker ssh Warning: Permanently added ''[localhost]:2022'' (RSA) to the list of known hosts. ## . ## ## ## == ## ## ## ## === /""""""""""""""""/___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~ /______ o __/ / / __/ /____/______/ _ _ ____ _ _ | |__ ___ ___ | |_|___ / __| | ___ ___| | _____ _ __ | ''_ / / _ / / _ /| __| __) / _` |/ _ / / __| |/ / _ / ''__| | |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ | |_.__/ /___/ /___/ /__|_____/__,_|/___/ /___|_|/_/___|_| boot2docker: 1.0.1 master : cad5ece - Fri Jun 20 02:03:40 UTC 2014 docker@boot2docker:~$

Ahora crea / modifica / var / lib / boot2docker / profile para establecer la información del proxy:

docker@boot2docker:~$ sudo vi /var/lib/boot2docker/profile

Tinycore necesita la información del proxy de la siguiente manera: protocol: // ip: port
Para estar seguro, establecí proxies para HTTP y HTTPS.

export HTTP_PROXY=http://your.proxy.name:8080 export HTTPS_PROXY=http://your.proxy.name:8080

Ahora puede reiniciar el servicio de acoplador de VM y salir de la VM.

docker@boot2docker:~$ sudo /etc/init.d/docker restart docker@boot2docker:~$ exit Connection to localhost closed.

Debería poder ejecutar el cliente contra la instancia de VM ahora.

bash-3.2$ docker search ubuntu NAME DESCRIPTION STARS OFFICIAL AUTOMATED ubuntu Official Ubuntu base image 356 stackbrew/ubuntu Official Ubuntu base image 39 crashsystems/gitlab-docker A trusted, regularly updated build of GitL...

Este cambio persiste a través de reinicios de VM. Solo deberías hacerlo una vez.

Para el registro, VirtualBox tiene una configuración de preferencia global para proxies, pero nada de lo que intenté allí funcionaría.


Para resolver el problema con Curl en Docker, agregué lo siguiente dentro de Dockerfile:

ENV http_proxy=http://infoprx2:8080 ENV https_proxy=http://infoprx2:8080 RUN apt-get update && apt-get install -y curl vim

Tenga en cuenta que la declaración ENV es ANTES de la instrucción RUN.

y para hacer que el daemon docker pueda acceder a Internet (uso kitematic con boot2docker), agregué lo siguiente en / var / lib / boot2docker / profile:

export HTTP_PROXY=http://infoprx2:8080 export HTTPS_PROXY=http://infoprx2:8080


Resolví este problema al establecer la configuración del proxy en el archivo .profile:

docker@boot2docker:~$ vi ~/.profile

agregue su proxy al final:

# PS1=''/u@/h:/w/$ '' PAGER=''less -EM'' MANPAGER=''less -isR'' EDITOR=vi export PS1 PAGER FILEMGR EDITOR MANPAGER export BACKUP=1 [ "`id -un`" = "`cat /etc/sysconfig/tcuser`" ] && echo "$BACKUP" | sudo tee /etc/sysconfig/backup >/dev/null 2>&1 export FLWM_TITLEBAR_COLOR="58:7D:AA" if [ -f "$HOME/.ashrc" ]; then export ENV="$HOME/.ashrc" . "$HOME/.ashrc" fi TERMTYPE=`/usr/bin/tty` [ ${TERMTYPE:5:3} == "tty" ] && ( [ ! -f /etc/sysconfig/Xserver ] || [ -f /etc/sysconfig/text ] || [ -e /tmp/.X11-unix/X0 ] || startx ) export HTTP_PROXY=http://proxy.XX.com:8080 export HTTPS_PROXY=http://proxy.XX.com:8080

finalmente, reinicie su Boot2Docker.


Si está utilizando Docker para Mac y está detrás de un entorno de proxy.

Haga clic en el icono del acoplador en la barra de menú superior. (como se muestra en el paso 1.3 aquí )

Vaya a Preferences > Advanced y configure el proxy en las opciones HTTP y HTTPS allí. Haga clic en Aplicar y reinicie debajo de él. Tú eres bueno para irte. :)