El problema
Al intentar buscar imágenes de la ventana acoplable en el repositorio de la ventana acoplable, aparece el siguiente error:
# docker search centos Error response from daemon: Get https://index.docker.io/v1/search?q=oracle%2A: dial tcp 52.72.231.247:443: getsockopt: no route to host
El motor de la ventana acoplable funciona bien.
# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2017-11-18 06:37:54 UTC; 4min 54s ago Docs: https://docs.docker.com Main PID: 1109 (dockerd) Memory: 72.6M CGroup: /system.slice/docker.service ├─1109 /usr/bin/dockerd └─1127 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/...
Además, SELinux está configurado en modo Permisivo y las iptables pueden tener tráfico de Docker.
# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy DROP) target prot opt source destination DOCKER-USER all -- anywhere anywhere DOCKER-ISOLATION all -- anywhere anywhere ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED DOCKER all -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain DOCKER (1 references) target prot opt source destination Chain DOCKER-ISOLATION (1 references) target prot opt source destination RETURN all -- anywhere anywhere Chain DOCKER-USER (1 references) target prot opt source destination RETURN all -- anywhere anywhere
# sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: permissive Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28
Habilitación de proxy para Docker
Para que el nodo de Docker se comunique con Docker hub, debe tener habilitado el proxy. Esto es necesario cuando tiene un entorno bajo el firewall. Hay dos formas de hacerlo.
Método 1
1. Para configurar las opciones de redes de proxy web, cree el archivo desplegable /etc/systemd/system/docker.service.d/http-proxy.conf que contiene las siguientes líneas:
# vi /etc/systemd/system/docker.service.d/http-proxy.conf [Service] Environment="HTTP_PROXY=proxy_URL:port" Environment="HTTPS_PROXY=proxy_URL:port"
2. Reemplace proxy_URL y port con las URL y los números de puerto apropiados para su proxy web.
Método 2
1. Abra el archivo /etc/sysconfig/docker usando cualquier editor y agregue las dos entradas siguientes.
# vi /etc/sysconfig/docker HTTP_PROXY="http://[proxy_IP].domain.com:80" HTTPS_PROXY="http://http://[proxy_IP].domain.com:80"
2. Una vez completado, inicie/detenga el servicio docker
# systemctl stop docker # systemctl start docker