Problém
Při pokusu o vyhledání obrázků dockeru v repozitáři dockeru se vrátí s chybou níže:
# 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
Motor dockeru běží v pořádku.
# 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/...
SELinux je také nastaven na Permisivní režim a iptables mohou mít provoz 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
Povolení proxy pro Docker
Aby uzel Docker mohl komunikovat s centrem Docker, musíte mít povolený proxy. To je vyžadováno, pokud máte prostředí pod bránou firewall. Existují 2 způsoby, jak to lze provést.
Metoda 1
1. Chcete-li nakonfigurovat možnosti sítě webového proxy, vytvořte soubor drop-in /etc/systemd/system/docker.service.d/http-proxy.conf který obsahuje následující řádky:
# vi /etc/systemd/system/docker.service.d/http-proxy.conf [Service] Environment="HTTP_PROXY=proxy_URL:port" Environment="HTTPS_PROXY=proxy_URL:port"
2. Nahraďte proxy_URL a port příslušnými URL a čísly portů pro váš webový proxy.
Metoda 2
1. Otevřete soubor /etc/sysconfig/docker pomocí libovolného editoru a připojte níže uvedené dvě položky.
# vi /etc/sysconfig/docker HTTP_PROXY="http://[proxy_IP].domain.com:80" HTTPS_PROXY="http://http://[proxy_IP].domain.com:80"
2. Po dokončení spusťte/zastavte službu docker
# systemctl stop docker # systemctl start docker